【求助】请大家帮我看看错在哪了,万分感激(非常简单的程序)!
大家好,我是Matlab初学者,编的第一个程序,老是出错,郁闷的不行了,请各位帮我看看哪出问题了,谢谢了。syms w;
ZF=j*(300*w-2700/w); M=300;Rm=180;S=27000;
Zm=(Rm-j*S/w)/(1+(Rm-j*S/w)/ZF)+j*w*M;
for w=0:1:500
X1=1/(j*w*Zm);
figure;
plot(w,abs(X1)); %想画w和X1振幅的关系图,x轴为频率,y轴为X1振幅
end
title('Displacement amplitude X1 of mass M1');
xlabel('w(rad/s)');
ylabel('amplitude(m)');
[ 本帖最后由 tangxi 于 2008-10-6 14:28 编辑 ] 根据错误提示,一步一步改 不知道你说的是什么错误
回复 沙发 花如月 的帖子
谢谢指点,我也是这么操作的,但后面的错误我真不知道怎么改了回复 板凳 sigma665 的帖子
比如现在系统提示我“plot(w,abs(X1)); ”错误可我真不知道哪错了 plot(w,abs(X1))中的X1是symbol object
不能如此画吧 第一句去掉
for w=0:1:500
ZF=j*(300*w-2700/w); M=300;Rm=180;S=27000;
Zm=(Rm-j*S/w)/(1+(Rm-j*S/w)/ZF)+j*w*M;
X1=1/(j*w*Zm);
figure;
plot(w,abs(X1)); hold on;%想画w和X1振幅的关系图,x轴为频率,y轴为X1振幅
end
回复 7楼 sigma665 的帖子
小西,你害我matlab不停的画图,最后只好全关了。呵呵。。。改成下面这样试试,没有错误了,不过好像还是没有绘出图来,楼主检查一下公式吧。
M=300;Rm=180;S=27000;
for w=1:500
ZF=j*(300*w-2700/w);
Zm=(Rm-j*S/w)/(1+(Rm-j*S/w)/ZF)+j*w*M;
X1(w)=1/(j*w*Zm);
end
figure;
plot(w,abs(X1)); hold on;%想画w和X1振幅的关系图,x轴为频率,y轴为X1振幅
[ 本帖最后由 sogooda 于 2008-10-6 21:09 编辑 ]
回复 6楼 ChaChing 的帖子
您好,能不能说得再详细一些,我是菜鸟,没能看明白,谢谢了回复 7楼 sigma665 的帖子
小西的程序让我死机了:@L回复 8楼 sogooda 的帖子
唉,公式是我从书本上搬过来的,我现在已经晕了:@L回复 8楼 sogooda 的帖子
他原来就是这么画的:@L回复 9楼 tangxi 的帖子
不好意思, 人老了还在使用旧版matlab, 习惯 & 懒了!symbolic object我使用较少, 还没空消化完手册, 其他人或许可帮忙
没头没脑, 好像被考试的感觉 ! 不确定你到底是要什麽?
仅能稍修一下, 是你要的吗?
w=1:500; ZF=j*(300*w-2700./w); M=300; Rm=180; S=27000;
Zm=(Rm-j*S./w)/(1+(Rm-j*S./w)/ZF)+j*w*M; X1=1./(j*w.*Zm);
plot(w,abs(X1)); title('Displacement amplitude X1 of mass M1');
xlabel('w(rad/s)'); ylabel('amplitude(m)');
还有自己必须时常找Help文件, 个人也是
回复 13楼 ChaChing 的帖子
牛人啊,这么简单就搞定了,这就是我要的,谢谢! 我还以为只有我死机! 这件事突显了论坛的一些现象1.很多人都复制指令就直接至matlab执行, 未事先看过指令
2.许多人回覆, 似乎没先搞清楚/执行过问题指令, 甚至回覆的指令自个儿未执行过
这或许只是个人感觉而已, 不针对特定人, 因我也是犯同样的错
说说大家共勉之
页:
[1]
2