这个程序哪里出错了呢 用二分法求解f=inline('exp(-x)-sin(pi*x./2)');a=0;b=1;err=(b-a)/2; k=0;eps=1/2^5;y0=f(a);while err>epsa0=a;b0=b;x1=(a0+b0)/2;if f(x1)==0x1;returnendelse if f(x1)>0a1=a0;b1=x1;else a1=x1;b1=b0;breakerr=(b1-a1)/2;k=k

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/23 08:30:46
这个程序哪里出错了呢用二分法求解f=inline(''exp(-x)-sin(pi*x./2)'');a=0;b=1;err=(b-a)/2;k=0;eps=1/2^5;y0=f(a);whileerr>

这个程序哪里出错了呢 用二分法求解f=inline('exp(-x)-sin(pi*x./2)');a=0;b=1;err=(b-a)/2; k=0;eps=1/2^5;y0=f(a);while err>epsa0=a;b0=b;x1=(a0+b0)/2;if f(x1)==0x1;returnendelse if f(x1)>0a1=a0;b1=x1;else a1=x1;b1=b0;breakerr=(b1-a1)/2;k=k
这个程序哪里出错了呢 用二分法求解
f=inline('exp(-x)-sin(pi*x./2)');
a=0;b=1;
err=(b-a)/2; k=0;
eps=1/2^5;
y0=f(a);
while err>eps
a0=a;b0=b;
x1=(a0+b0)/2;
if f(x1)==0
x1;
return
end
else if f(x1)>0
a1=a0;b1=x1;
else
a1=x1;b1=b0;
break
err=(b1-a1)/2;
k=k+1;
a=a1;b=b1;
end
a,b
k
x=(a+b)/2

这个程序哪里出错了呢 用二分法求解f=inline('exp(-x)-sin(pi*x./2)');a=0;b=1;err=(b-a)/2; k=0;eps=1/2^5;y0=f(a);while err>epsa0=a;b0=b;x1=(a0+b0)/2;if f(x1)==0x1;returnendelse if f(x1)>0a1=a0;b1=x1;else a1=x1;b1=b0;breakerr=(b1-a1)/2;k=k
语序有点乱套了.还有 else if之间不能有空格.
下面是我做了点修改的代码
>> f=inline('exp(-x)-sin(pi*x/2)');
a=0;b=1;
err=(b-a)/2; k=0;
eps=1/2^10; %提高精确度 ^.^
y0=f(a);
while err>eps
a0=a;b0=b;
x1=(a0+b0)/2;
if f(x1)==0
x1
elseif f(x1)>0
a1=x1;b1=b0;
else
a1=a0;b1=x1;
end
err=(b1-a1)/2;
k=k+1;
a=a1;b=b1;
end
k
x=(a+b)/2
若满意请采纳! ^.^