首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB运动控制中的几个问题

MATLAB运动控制中的几个问题
EN

Stack Overflow用户
提问于 2010-07-05 14:52:05
回答 1查看 421关注 0票数 0

我在matlab的运动控制中遇到了一个问题,想象一个像this.as这样的四连杆机构,你知道,在一个普通的四杆连杆机构中,我们有两个固定点,但这里我们只有一个,它固定在一个小齿轮(小齿轮)上,它有一个齿轮比,所以我们有一个关系式,teta1 & teta2,teta2 =5*teta2(机构可以在第一个固定点转动)。

我曾经为运动控制写过这段代码,但是当我运行它的时候,图是不正确的(因为它们应该是linke sin或cos图)

d(n)是解方程组的辅助向量,如有其他问题请询问

代码如下:

代码语言:javascript
复制
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');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-06 16:57:36

我不知道您试图在这里解决什么问题,但您可能希望将for循环的end向下移动几行,以便您绘制的向量包含所有值,而不仅仅是最后一个值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3177609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档