zieleingabe.m

来自「三臂机器人仿真程序」· M 代码 · 共 57 行

M
57
字号
function [p]= zieleingabe(l)

%Definition einiger Abfragetexte
 text1 =['Geben Sie die x-Koordinate des Zielpunktes ein:    '];
 text2 =['Geben Sie die y-Koordinate des Zielpunktes ein:    '];
 text3 =['Geben Sie den Neigungswinkel des 3.Armes zur       '];
 text3a=['Horizontalen im Bereich von -180 bis 180 Grad ein: '];
 text3b=['!!! Der Neigungswinkel muss zwischen '...
         '-180 und 180 Grad liegen !!!'];
 text3c=['neue Eingabe fuer den Neigungswinkel:              '];

%Im Folgenden werden x-Koordinate, die y-Koordinate und der
%Neigungswinkel zur Horizontalen des Zielpunktes P abgefragt.
%Dabei werden bereits einige grobe Bereichspruefungen der
%Anfahrtsmoeglichkeit von P vorgenommen (Halbkreis um Ursprung
%mit Radius der Summe der Armlaengen), und die Abfrage,
%wenn noetig, wiederholt.

%Berechnung des Radius
 R=l(1,1)+l(2,1)+l(3,1);

%Abfrage der x-Koordinate des Zielpunktes
 x=input(text1);
 xmin=-R; xmax=R;
  while x<xmin | x>xmax
    xminstr=num2str(xmin);
    xmaxstr=num2str(xmax);
    text=['!!! Die x-Koordinate muss zwischen '...
          ,xminstr,' und ',xmaxstr,' liegen !!!'];
    disp(text);
    x=input('neue Eingabe fuer die x-Koordinate: ');
  end

%Abfrage der y-Koordinate des Zielpunktes
 y=input(text2);
 ymin=0; ymax=sqrt(R^2-x^2);
  while y<ymin | y>ymax
    yminstr=num2str(ymin);
    ymaxstr=num2str(ymax);
    text=['!!! Die y-Koordinate muss zwischen '...
          ,yminstr,' und ',ymaxstr,' liegen !!!'];
    disp(text);
    y=input('neue Eingabe fuer die y-Koordinate: ');
  end

%Abfrage des Neigungswinkels
 disp(text3);
 w=input(text3a);
 while w<-180 | w>180
   disp(text3b);
   w=input(text3c);
 end

%Rueckgabe der Zielpunktsdaten im Vektor p
 p=[x; y; w];

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?