lily_521520 发表于 2007-12-25 19:38

求助if语句中出现的问题

syms x a b t;
format long;
m=20;
eps=1e-6;
x=zeros(m,1);
f=zeros(m,1);
a=zeros(m,1);
b=zeros(m,1);
a(1)=0.25;
b(1)=1;
i=1;
while(((b(i)-a(i)))>eps)
x(i)=(a(i)+b(i))/2;
f(i)=log(x(i)+sin(x(i)));
if((f(i)*f(a(i)))<0)
    a(i+1)=a(i);
    b(i+1)=x(i);
else
    a(i+1)=x(i);
    b(i+1)=b(i);
end;
i=i+1;
end;

sigma665 发表于 2007-12-25 20:26

回复 #1 lily_521520 的帖子

错误提示: ??? Subscript indices must either be real positive integers or logicals.

eight 发表于 2007-12-25 22:52

a(i) 是一个实数,并非整数,所以不能用来作为数组 f 的下标。

下次发帖前,请先阅读版规和各个置顶帖。如果你的权限不够,请先熟悉论坛,赚取必要的积分
页: [1]
查看完整版本: 求助if语句中出现的问题