У меня есть код в Matlab, который принимает два входных значения в указанном диапазоне и выводит три значения.

Пример:% расчета углов для механизма параллельного сцепления

% Расчет углов для механизма параллельного сцепления

l1 = 280;
l2 = 102;
l3 = 304;
c1 = 102;
c2 = 280;

prompt1 = 'X-coordinate :'; % Upper motor rotation coordinate
x = input (prompt1);
prompt1 = 'Y-coordinate :'; % Base motor rotation coordinate
y = input (prompt1);
z = -95.2;
y4 = 2320-y;
x1 = x-544.84;

y2 = y4 + 217.5;
p = atand ((x1/y2));

y3 = (y2/(cosd(p)));

y1 = y3 - 53.12;
z1 = z + 55.5;


if z1>0;
    h = (((y1^2)+(z1^2))^(0.5));
    u = acosd ((-(h^2)+((l1^2)+(l3^2)))/(2*l1*l3));
    r = (180-u);
    d = (((l1^2)+(l2^2)-(2*l1*l2*cosd(r)))^0.5);
    t1 = acosd (((l1^2)-(l2^2)+(d^2))/(2*l1*d));
    b1 = acosd (((l2^2)-(l1^2)+(d^2))/(2*d*l2));
    a = acosd (((c1^2)+(c2^2)-(d^2))/(2*c1*c2));
    t2 = acosd (((c1^2)-(c2^2)+(d^2))/(2*c1*d));
    b2 = acosd (((c2^2)-(c1^2)+(d^2))/(2*c2*d));
    i1 = acosd ((y1)/(h));
    i2 = acosd (((l1^2)-(l3^2)+(h^2))/(2*l1*h));
    M1 = ((i1+i2));
    % Total angle between both motor driven links
    t = t1+t2;
    i3 = (180-i1-i2-t);
    M2 = (i3);


else
    z2 = -z1;
    h = (((y1^2)+(z2^2))^(0.5));
    r2 = atand (z2/y1);
    u = acosd ((-(h^2)+((l1^2)+(l3^2)))/(2*l1*l3));
    r = (180-u);
    d = (((l1^2)+(l2^2)-(2*l1*l2*cosd(r)))^0.5);
    t1 = acosd (((l1^2)-(l2^2)+(d^2))/(2*l1*d));
    b1 = acosd (((l2^2)-(l1^2)+(d^2))/(2*d*l2));
    a = acosd (((c1^2)+(c2^2)-(d^2))/(2*c1*c2));
    t2 = acosd (((c1^2)-(c2^2)+(d^2))/(2*c1*d));
    b2 = acosd (((c2^2)-(c1^2)+(d^2))/(2*c2*d));
    t = t1+t2;
    r1 = acosd (((h^2)+(l1^2)-(l3^2))/(2*l1*h));
    M1 = (r1-r2);
    i3 = (180-M1-t);
    M2 = i3;


end

clc;

Мои входные значения - это координаты x и y, а выходные данные - M1, M2 и p. Я хочу создать такой же лист Excel для входного диапазона значений x от 1 до 555 с шагом 1 и для значений y в диапазоне от 2000 до 2200 с шагом 1.

Любая помощь приветствуется, так как я новичок в MATLAB,

Заранее спасибо.

0