在matlab上绘制for循环的问题

时间:2015-11-18 15:42:17

标签: matlab for-loop plot matlab-figure

这是我的for循环,没有正确绘图:

for w=1:1:1000
    s(w)=w*1j;
    hX(w)=(alphaX22_1+betaX22_1*s(w))/(s(w)^2+2*d_X1*wn_X1*s(w)+wn_X1^2)+...
    (alphaX22_2+betaX22_2*s(w))/(s(w)^2+2*d_X2*wn_X2*s(w)+wn_X2^2);

    mag_hX(w)=sqrt(real(hX(w))^2+imag(hX(w))^2);
    %arg_hX(w)=atan(imag(hX(w))/real(hX(w)));    
end

figure(2)
plot(w,mag_hX(w),'+')

但是我只得到了情节中的最后一个值。此外,当我'size s'或'size hX'时,我得到1 1,但我可以访问s(350)和hX(350)。

这样你就可以运行代码了,我正在添加变量的数值。

% Natural Frequencies and Damping Ratios
wn_X1=354.3; d_X1=0.038;
wn_X2=467.6; d_X2=0.049;

alphaX22_1 = 0.0043
betaX22_1 = -1.2528e-05
alphaX22_2 = 0.0235
betaX22_2 = 4.4012e-06

1 个答案:

答案 0 :(得分:1)

我会仔细查看herehere。我相信你需要把你的绘图语句放在for循环中。现在你只是在绘制最后一个值。你应该在循环之前打开这个数字。