很简单的二分法,大家看看。。改进这个程序

来源:百度知道 编辑:UC知道 时间:2024/05/19 12:25:16
format long
num=0;
a=1.5;b=2.5;
while b-a>0.005
x=(b+a)/2;
y=x^3-6.9*x^2+15.87*x-12.167;
if y>0
b=x;
else
a=x;
end
num=num+1;
c(1,num)=y;end
我总觉得自己没有摆脱c语言的影响,希望高手能提点意见

放在scilab里面?
第一行多余,scilab不认。
输出也不能这么写。去掉c(1,num)=y;
end后再输出
而且你这个输出是少一次的。
要是想每一步都输出一次y,就把y的运算那一行去掉分号。

num=0;
a=1.5;b=2.5;
while b-a>0.005
x=(b+a)/2;
y=x^3-6.9*x^2+15.87*x-12.167;
if y>0
b=x;
else
a=x;
end
num=num+1;
end
x=(a+b)/2;
print(%io(2),x)

感觉楼主在炫耀。。。