【发布时间】:2012-09-28 18:23:42
【问题描述】:
我正在尝试使用正在运行的函数中的值填充数组。在这个函数中,我将变量z2 以0.01 的增量从0 更改为0.99。同时我想用这些值填充一个数组。我尝试了一个while循环和一个for循环。如何只用一个 for 循环来写这个?
我的代码:
Ys = y(2000);
Mp = ((max(y)-Ys)/Ys)*100;
[max, i] = max(y);
tp = t(i);
z = sqrt(((log(Mp))^2)/((pi*pi)+(log(Mp))^2));
%Given Equations
wd = pi/tp;
wn = wd/(sqrt(1-(z*z)));
ts = 4.6/(z*wn);
tr = 1.8/wn;
%for loop for z from 0 to 0.99
for i = 1:100;
for z2 = 0:0.01:0.99
%tr*wn = Fa
Fa(i) = 2.917*z2^2 - 0.4167*z2 + 1;
i = i + 1;
if i >= 100;
break;
end
end
end
find_zeta = interp1(Fa, 1.8);
disp(Fa);
disp(find_zeta);
我遇到的错误:我的数组中只有1s。
【问题讨论】: