这个程序哪里出错了呢 用二分法求解
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
人气:414 ℃ 时间:2020-05-08 16:04:07
解答
语序有点乱套了.还有 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
若满意请采纳! ^.^
推荐
猜你喜欢
- 已知函数y=log a (x2+2x+k),其中(a>0,a≠0),若值域为R,求k的取值范围
- 一箱梨的二分之一是24个,一箱苹果的三分之一是24个.哪一箱水果多?它们各有多少?
- 英语翻译
- 1.已知√2a-1+√b+1/4=0 求ab的值
- 如图,一个钟4N,底面积为20㎡的薄壁玻璃杯放在水平桌面上,将重5N的水带入杯中,水面到杯底的距离为10cm
- to be or not to be this is a question什么意思
- 提示词为:join!()our teacher ()in the coming picnic?I am not sure.
- A点到直线L的距离为3,B点到直线L的距离为5,AB距离为12,P在直线L上.求PA+PB的最小值!