MATLAB里怎么通过位移方程画出位移轨迹图

MATLAB里怎么通过位移方程画出位移轨迹图,第1张

由于关于φ的方程你没有列出来,以下代码供参考:

clear all;

clc;

phi = -2pi:01:0;

xB = 2phi;        % 代入你的方程

yB = 5phi;       % 代入你的方程

phi_j = 3phi;    % 代入你的方程

h2 = 4phi;       % 代入你的方程

xj = xB + h2cos(phi_j);

yj = yB + h2sin(phi_j);

subplot(1,2,1);

plot(xB,xj);

xlabel('水平方向位移X/mm');

ylabel('竖直方向位移Y/mm');

title('静轨迹');

subplot(1,2,2)

plot(yB,yj);

xlabel('水平方向位移X/mm');

ylabel('竖直方向位移Y/mm');

title('动轨迹');

画出根轨迹后,用sgrid命令可以画出等阻尼比和等wn的栅格线。
用sgrid(z,wn)的形式可以绘制任何你想要的值的栅格线。(z和wn需事先分别定义,向量的形式,为你想绘制的阻尼比和wn的值。

判断稳定的K值范围,最基本的方法是首先求出闭环传递函数,然后根据Routh判据即可判断。Routh判据具体内容比较复杂,这里不详述,你随便一搜就很容易知道,也不难。
如果要用根轨迹判断的话,可能比较复杂,需要准确的画出根轨迹及其变化趋势,求其与虚轴的交点,工作量不比Routh判据少。

对离散系统,使用rlocus画根轨迹,然后用grid on即可得到类似的根轨迹图。

示例: z=tf('z');

G=(z^2-18z+1)/(z(z-1)(z^2-17z+1));
rlocus(G)
grid on
set(gca,'DataAspectRatio',[1 1 1])
ylim([-1 1])

给你个简单的例子,g可以根据你的需要改变,但是里面应该不能有k这种未知量。
s=tf('s');
g=10(s+2)/(s^2+2
s+3);
rlocus(g)
判断稳定的k值范围,最基本的方法是首先求出闭环传递函数,然后根据routh判据即可判断。routh判据具体内容比较复杂,这里不详述,你随便一搜就很容易知道,也不难。
如果要用根轨迹判断的话,可能比较复杂,需要准确的画出根轨迹及其变化趋势,求其与虚轴的交点,工作量不比routh判据少。
欢迎追问~

>> t = -10pi:pi/250:10pi;
>> x=sin(t);
>> y=cos(t);
>> z=t;
>> comet3(x,y,z,002)
这个例子对你应该有帮助~~~

可以考虑使用hold on语句绘制完一幅图以后加上一句 hold on 在绘制另一幅图即可,最后再加一行hold off 例如x = linspace(0, 2, 30);y1 = sin(x);plot(x, y1);hold on y2 = cos(x);plot(x, y2)hold off这样y1 = sin(x);y2 = cos(x); 你自己试着去搞


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13062470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存