数组运算问题
for s0=0:0.01:2;r0=1;
Tz=5;
bg=pi/2;
a=1/cosh(Tz);
x=r0*sqrt(1+a)/sqrt(1-a);
ifs0 < x
one=s0;
else
one=a*s0+r0.*sqrt(1-a.^2);
end
n=s0*100+1;
hold on;
C(n)=one;
plot(s0,one);
end
以上程序把值付给c,我咋实现不了哪。有别的办法也行,多谢帮忙。 第一行用的等分隔点,并不是“恰好”<0.##>
n=s0*100+1; 这一行不会恰好产生整数的。
试一下: C(round(n)) = one;
ps:这个程序的错误提示很明显的:
Subscript indices must either be real positive integers or logicals.
Error in ==> \MATLAB6.5\work\temp.m
On line 14==> C(n)=one;
自己在这儿设置一个断点,一行一行调试。
页:
[1]