MATLAB简单迭代法

MATLAB简单迭代法,第1张

程序本身没有错,显示结果的语句不符合matlab语言习惯,另外去掉disp也能显示出结果来,区别你运行下就知道了,最后提两点

1)变量x出现三种类型,工作区内后定义类型变量值会覆盖前一种类型,且不能再使用前一种类型的变量,不同类迹塌型最好另外起名字;

2)对于double型数据的相等判断,最好采用abs(a-b)<eps的形式,eps可以自己是机器精度,可以自己调,这个姿租圆型改程序里if xx == 1.5没有出现问题,是因为精度判断没有问题

地球可是真小啊,

看来老师布置作业都一样啊!

前段时间刚做过这道题!

给你个正确的程序!

采用不动点迭代法计算非线性方程x3+4x2-10=0,在区间[1,2]上的一个根。手哗型

不芦李动点毕猜迭代法程序:

function

[y,n]=BDD(x,eps)

if

nargin==1

eps=1.0e-6

elseif

nargin<1

error

return

end

x1=gg(x)

n=1

while

(norm(x1-x)>=1e-6)&&(n<=10000)

x=x1

x1=gg(x)

n=n+1

end

y=x

M函数:

function

f=gg(x)

f(1)=sqrt(2.5-(x^3)/4)

结果如下:

>>

BDD(1)

n

=

21

ans

=

1.3652

PS

不会一个学校的吧?哈哈!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12382953.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存