matlab中牛顿下山法实例,非线性方程的数值解法牛顿下山法matlab.docx
非线性方程的数值解法牛顿下山法matlab.docx
1 非线性方程的数值解法 ——计算物理实验作业九 陈万 物理学2013级 13020011006 题目: 用下列方法求 在 附近的根。根的准确值 0 1 3 3 x x f(x) 2 0 x ,要求计算结果精确到四位有效数字。 87938524 . 1 * x (1)用牛顿法; (2)用弦截法,取 ; 9 . 1 , 2 1 0 x x 主程序: clear clc; %----------------初值设定------------------- x0 = 2; x1 = 1.9; eps = 0.00001; N = 50; %----------------迭代求解------------------- Newton(x0,eps,N); Newton_downhill(x0,eps,N);2 Secant_(x0,x1,eps,N); 子程序:f(x) function [y]=f(x) y = x^3-3*x-1; %函数f(x) End 程序一:牛顿法 function Newton(x0,eps,N) % 牛顿法 % x0 是迭代初值,eps 是精度,N 是迭代上限 at long; k = 1; while(1)ff = (f(x0+0.1*eps)-f(x0))/(0.1*eps);if ff == 0disp( 分母为零,请重新选择初始迭代值 )break;elsex1=x0-f(x0)/ff ;if abs(x1-x0)=Ndisp( 迭代失败,请检查程序是否有误 )breakelse k = k+1;x0 = x1; endend end 程序二:弦截法 function Secant_(x0,x1,eps,N) % 弦截法 % x0,x1 是迭代初值,eps 是精度,N 是迭代上限 at long; k = 1; while(1)if f(x0)==0disp( 满足精度要求的解是: )disp(x0)break;elseif f(x1)==04disp( 满足精度要求的解是: )disp(x1)break;elseif abs(f(x1)-f(x0))==0disp( 分母为零,请重新选择初始迭代值 )break;elsex2 = x1-f(x1)*(x1-x0)/(f(x1)-f(x0));if abs(x2-x1)=Ndisp( 迭代失败,请检查程序是否有误 )break;elsek = k+1;x0 = x1;x1 = x2;endend end 程序三:牛顿下山法5 function Newton_downhill(x0,eps,N) % 牛顿下山法 % x0 是迭代初值,eps 是精度,N 是迭代上限 at long; k = 1; while(1)lamda = 1;ff = (f(x0+0.1*eps)-f(x0))/(0.1*eps);if ff == 0disp( 分母为零,请重新选择初始迭代值 )break;elsewhile(1)x1 = x0-lamda*f(x0)/ff ;if f(x1)>=f(x0)lamda = 0.5*lamda;elsebreak;endendif abs(x1-x0)=Ndisp( 迭代失败,请检查程序是否有误 )breakelse k = k+1;x0 = x1; endend end end 程序运行结果: 牛顿法: 满足精度要求的根是:1.879385241571819 弦截法: 满足精度要求的解是:1.879385241572444 分析讨论: 从运行结果来看,牛顿法与弦截法的结果与给定准确值完全相等;从运行 时间上看速度都相当快。
matlab中牛顿下山法实例,非线性方程的数值解法牛顿下山法matlab.docx相关推荐
- matlab中牛顿下山法实例,非线性方程的数值解法牛顿下山法matlab
非线性方程的数值解法牛顿下山法matlab 1 非线性方程的数值解法 --计算物理实验作业九 陈万 物理学2013级 130******** ● 题目: 用下列方法求0133=--=x x f(x)在 ...
- matlab求xk符号解,Matlab学习手抄(6)——非线性方程的数值解法
1. 二分法 定理: 函数f(x)在区间[a,b]上连续,如果f(a)*f(b)<0,则f(x)=0在[a,b]内至少有一个实根x'. [a,b]对半平分为两个小区间,判断f改变正负号的子区间, ...
- 非线性方程的数值解法:正割法 python
import sympy from sympy import exp #用来输入指数函数,详见输入案例 x=sympy.symbols("x") yuan=input(" ...
- matlab中有趣的图像,MATLAB中有趣的演示实例
MATLAB中有趣的演示实例 MATLAB中也同样有许多有意思的实例,为提高读者对MATLAB和Simulink的兴趣,特举部分以供参考.具体如下,运行的时候只要将":"前面的代码 ...
- matlab 对话框保持,如何在matlab中创建输入对话框?(How to create Input dialog box in matlab?)...
如何在matlab中创建输入对话框?(How to create Input dialog box in matlab?) 我想在matlab中创建输入对话框. 我在MATLAB中执行简单的加法运算. ...
- matlab矩阵按坐标取,在Matlab中获取inlier点的坐标(Get coordinates of inlier points in Matlab)...
在Matlab中获取inlier点的坐标(Get coordinates of inlier points in Matlab) 我需要找到使用impixel()在对象检测中获得的内部点的像素值. 我 ...
- 非线性方程的数值解法:牛顿法及牛顿下山法(含Matlab程序)
牛顿法及牛顿下山法 简介:牛顿迭代法是求解单变量非线性方程f(x)=0中最实用的方法,该方法在单根附近二阶收敛.但应用时要选用较好的初值x0近似才能保证迭代收敛.为克服这一缺点,可使用牛顿下山法.下面 ...
- matlab 牛顿法 初值,非线性方程的数值解法:牛顿法及牛顿下山法(含Matlab程序)...
牛顿法及牛顿下山法 简介:牛顿迭代法是求解单变量非线性方程f(x)=0中最实用的方法,该方法在单根附近二阶收敛.但应用时要选用较好的初值x0近似才能保证迭代收敛.为克服这一缺点,可使用牛顿下山法.下面 ...
- LM(Levenberg-Marquadrdt )算法在MATLAB中的实现及实例
LM算法简介 考虑如下非线性最小二乘问题 min f ( x ) = 1 2 ∥ r ( x ) ∥ 2 , \min \quad f(x) = \frac{1}{2}\Vert r(x)\Ver ...
最新文章
- C++:vector容器中使用pair该如何访问成员
- c语言变量及输入输出
- 乐变黄杲:当前如何选择App热更新服务
- 第三章 python webdriver API(一)——浏览器操作
- ParlAI:Facebook开源的一个AI对话框架
- Python网络编程2:创建套接字和套接字对象的内建方法
- 手机 服务器 推送消息推送消息,推送信息到手机的pushover使用方法及sample code
- [html] 你认为一个好的布局应该是什么样的?有哪些需要注意的地方?
- java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)
- C++类的构造函数、析构函数与赋值函数
- AcWing 1952. 金发姑娘和 N 头牛(离散化+差分)
- 开方根运算——没有FPU的解决办法
- 运筹学 matlab实现单纯形法
- 释放IP地址,然后重新获取的两个命令
- win7工作组计算机无法连接打印机,win7无法访问共享打印机怎么解决
- win7系统如何添加打印机服务器,怎样如何添加打印机驱动步骤
- 初探 sort 方法和 sorted 内置函数
- 学计算机英语的心得体会,英语学习心得体会
- 计算机房消防灭火系统,机房气体消防灭火系统方案.docx
- 数据管理系统之数据模型
热门文章
- 基于LiDAR里程计和先验地图的定位方法
- 如何在webots中绘制运动轨迹
- python爬虫是数据挖掘吗_爬虫属于数据挖掘 python为什么叫爬虫
- matlab modis sst,MATLAB 处理 MODIS 数据(MOD04_L2)
- 量化交易中,如何快速把股票代码转换成Int整形?
- adi翻译_ADI是什么意思_ADI的翻译_音标_读音_用法_例句_爱词霸在线词典
- 统一告警平台设计方案
- 网上收集的一些程序员笑话
- 测试点设计及编写思路
- eclipse设置xml文件默认的打开方式为XML Editor