作业帮 > 综合 > 作业

matlab 画出来的两个简谐振动的叠加怎么有问题的啊?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/06 02:33:04
matlab 画出来的两个简谐振动的叠加怎么有问题的啊?

[x1,x2]=dsolve('D2x1+200*x1-100*x2=0,D2x2-100*x1+200*x2=0','Dx1(0)=0,Dx2(0)=0,x1(0)=1,x2(0)=2');

h=ezplot(x1,[-2:0.1:2]);

set(h,'Color','r');

hold on

g=ezplot(x2,[-2:0.1:2]);

set(g,'Color','g');

xlabel('时间t')

ylabel('振幅y')

title('初始条件dx1(0)=0,dx2(0)=0,x1(0)=2,x2(0=1)')

用这个程序画出来 的图像

怎么出现圆圈中的现象啊?怎么改程序啊?求大神指教?


圆圈中的现象你觉得存在什么问题?
 
其实,尽管看起来好像图形失真,但求出来的函数的确就是这个形状的,比如,你可以直接使用plot函数绘图(选择更小的步长):
[x1,x2]=dsolve('D2x1+200*x1-100*x2=0,D2x2-100*x1+200*x2=0','Dx1(0)=0,Dx2(0)=0,x1(0)=1,x2(0)=2');
t=-2:0.001:2;
f1=inline(x1);
f2=inline(x2);
plot(t,f1(t),'r',t,f2(t),'g')
得到的结果与用ezplot函数并无显著区别.