求助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;
回复 #1 lily_521520 的帖子
错误提示: ??? Subscript indices must either be real positive integers or logicals. a(i) 是一个实数,并非整数,所以不能用来作为数组 f 的下标。下次发帖前,请先阅读版规和各个置顶帖。如果你的权限不够,请先熟悉论坛,赚取必要的积分
页:
[1]