проблема управления движением с MATLAB - PullRequest
0 голосов
/ 05 июля 2010

У меня есть проблема с управлением движением в Matlab. Представьте себе механизм соединения с четырьмя стержнями, подобный этому. Как вы знаете, в обычном соединении с четырьмя стержнями у нас есть 2 точки фиксации, но здесь у нас есть только одна и вторая, которую она прикрепила кшестерня (маленькая шестерня). у нас есть соотношение шестерен, поэтому мы имеем отношение между teta1 и teta2 teta2 = 5 * teta1 (механизм может вращаться в первой точке фиксации)

я использовал для написания этого кода дляуправление движением, но когда я запускаю его, графики не верны (потому что они должны быть чем-то вроде linke sin или cos graph)

d (n) является вспомогательным вектором для решения уравнений, пожалуйста, спросите, если у вас есть дополнительные вопросы

это код:

clc,
close all,
clear all,

ax=0;

ay=0;

r1=12;

r2=7;

r3=9;

r4=5;



n=0;

for teta1=0:pi/180:2*pi

    n=n+1;

D = r1*exp(i*teta1)-r2*exp(i*5*teta1);

tetad(n) = angle(D);

d(n) = abs(D);

landa(n)=acos((d(n)^2+(r3)^2-(r4)^2)/(2*d(n)*r3));

alfa(n)=acos((d(n)^2+(r4)^2-(r3)^2)/(2*d(n)*r4));

teta3(n)=landa(n)+tetad(n);

teta4(n)=(+pi-alfa(n)+tetad(n));

end



aa(n)=teta1*180/pi;

hh(n)=tetad(n)*180/pi;

bb(n)=landa(n)*180/pi;

cc(n)=alfa(n)*180/pi;

nn(n)=teta3(n)*180/pi;

dd(n)=5*teta1*180/pi;

ee(n)=teta4(n)*180/pi;


figure(1),plot(aa,hh),xlabel('teta1'),ylabel('tetad');

figure(2),plot(aa,d),xlabel('teta1'),ylabel('d');

figure(3),plot(aa,bb),xlabel('teta1'),ylabel('landa');

figure(4),plot(aa,cc),xlabel('teta1'),ylabel('alfa');

figure(5),plot(aa,nn),xlabel('teta1'),ylabel('teta3');

figure(6),plot(aa,dd),xlabel('teta1'),ylabel('5*teta1');

figure(7),plot(aa,ee),xlabel('teta1'),ylabel('teta4');

1 Ответ

0 голосов
/ 06 июля 2010

Я понятия не имею, что вы пытаетесь решить здесь, но, вероятно, вы хотите переместить end вашего цикла for на несколько строк вниз, чтобы векторы, которые вы строите, содержали все значения, а не только последнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...