第一范文网 - 专业文章范例文档资料分享平台

计算方法上机作业

来源:用户分享 时间:2025/7/7 13:24:49 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

方程求根

一、目的和意义

非线性方程在科学研究与工程实践中广泛出现,例如,优化问题、特征值问题、微分方程问题等。但是,除少量方程外,大多数非线性方程求根相当困难,常见的几个简单、有效的数值求根方法,包括二分法、迭代法、牛顿法、割线法等,本实验旨在比较各种算法的计算性能和使用范围。

二、计算公式 1.二分法 2.不动点迭代法 三、结构程序设计代码 1.二分法

1).定义所求解函数

function [ y ] = f( x ) y = x^3 + 4*x^2 - 10; end

2).执行算法

%初始化,设置区间端点a、b,误差限tol a = 1; b = 2; tol = 0.5*10^(-6); k = 0; fa = f(a); %设置最大二分次数为30 for k = 1:50

p = (a + b)/2; fp = f(p); if(fp == 0 || (b - a)/2 < tol) break end

if(fa * fp < 0) b = p; else a = p;

end

disp('近似解p = ');disp(vpa(p,10)); disp('迭代次数k = ');disp(k); end

2.不动点迭代法

1).定义不动点方程g(x)

function [ y ] = g( x )

y = x^3 + 4*x^2 + x - 10; end

2).执行算法

%初始化,设置误差限,设置初值p0 tol = 0.5*10^(-6); k = 1; p0 = 1.5; %迭代次数为10次 while k <= 10 p = g(p0);

if abs(p - p0) < tol break end

disp('近似解p = ');disp(vpa(p,10)); disp('迭代次数k = ');disp(k); k = k + 1; p0 = p; end

四、结果及其讨论 1.二分法结果

由于结果较长,只取了一部分,从图中可以看出,迭代20次可得到误差限范围内的近似解p=1.36522。

2.不动点迭代法结果

由结果可以看出,函数不收敛,当迭代次数为6时,已经近似趋向于无穷大。

3.讨论

上面实验通过两种方法近似计算了函数的解,二分法可在迭代20次的情况下求出近似解,而由于所设的不动点方程发散,所以使用不动点迭代法无法求出近似解。因此,在实际计算过程中,使用不动点迭代法时,在建立不动点方程后,要分析其收敛性。

搜索更多关于: 计算方法上机作业 的文档
计算方法上机作业.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2hryb0mljc565ja3utzz_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top