《计算方法》有一题使用牛顿迭代求解方程实根的题目。

查阅资料,发现判断方程有几个实根的方法太复杂,为了有效求出方程的实根,可以每次使用牛顿迭代求出一个根"p"后,将原方程除以“(x-p)”,然后在使用牛顿迭代进行求解。

在迭代过程中,为考虑可能会发散的情况,但是结果感人。

% 这是一个一元四次方程组,最多的实数解为4个;
% 输入初始值p0、最大迭代次数N;、
% 输出四个解的值;
% 认为迭代次数达到最大迭代次数的解可能为无效解;
% 最后的结果是输出两个解0.23235和-0.03584有效。
% 可以采用循环迭代的方法,循环四次求出四个解,有时间可以改进。p0=0.5;
N=100;
syms x
f(x)=600*x^4-550*x^3+200*x^2-20*x-1;
df(x)=diff(f(x),1);
x0=roots([600,-550,200,-20,-1])%求第一个解
for i=1:Np1=p0-f(p0)/df(p0);if abs(p0-p1)<10^(-4)breakendp0=p1;
end
disp('第1个解')
disp(vpa(p1,5))
if i==Ndisp('此解可能无效')
end%求第二个解
p=vpa(p1,5);
f(x)=f(x)/(x-p);
df(x)=diff(f(x),1);
p0=1;
for i=1:Np1=p0-f(p0)/df(p0);if abs(p0-p1)<10^(-4)breakendp0=p1;
end
disp('第2个解')
disp(vpa(p1,5))
if i==Ndisp('此解可能无效')
end%求第三个解
p=vpa(p1,5);
f(x)=f(x)/(x-p);
df(x)=diff(f(x),1);
p0=1;
for i=1:Np1=p0-f(p0)/df(p0);if abs(p0-p1)<10^(-4)breakendp0=p1;
end
disp('第3个解')
disp(vpa(p1,5))
if i==Ndisp('此解可能无效')
end%求第四个解
p=vpa(p1,5);
f(x)=f(x)/(x-p);
df(x)=diff(f(x),1);
p0=1;
for i=1:Np1=p0-f(p0)/df(p0);if abs(p0-p1)<10^(-4)breakendp0=p1;
enddisp('第4个解')
disp(vpa(p1,5))
if i==Ndisp('此解可能无效')
end

使用牛顿迭代的方法求出方程的实根(MATLAB)相关推荐

  1. ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值

    ML之UliR:利用非线性回归,梯度下降法(迭代十万次)求出学习参数θ,进而求得Cost函数最优值 目录 输出结果 代码设计 输出结果 更新-- 代码设计 import numpy as np imp ...

  2. 调用方法求出数组两个元素的和

    有如下数组int[] arr={10,20}; 定义一个方法求两个数字的和(方法参数为两个int类型),使用这个方法求出数组这两个元素相加的结果并打印 package com.it;import ja ...

  3. Python中利用BBP方式和蒙卡罗特方法求出π值(以及运用函数进行选择方式解决问题)

    Python中利用BBP方式和蒙卡罗特方法求出π值 一 BBP方式 二 蒙卡罗特方法 三 要求用户可以进行选择方法,之后调用对应函数进行执行 一 BBP方式 所谓BBP方式就是利用下面所给数学计算公式 ...

  4. 【牛顿迭代逼近】求根号2的快速方法

    如果要求根号2,比较快的方法有:1)二分法:2)牛顿迭代逼近法 二分法不多说了,很简单.下面介绍牛顿迭代逼近法. 原理:X(n+1) = ( X(n) + P/X(n) ) / 2      (P为待 ...

  5. 用牛顿法求方程的根的c语言编程,用牛顿迭代法和二分法求方程的根【C语言】...

    1.用牛顿迭代法求该方程在1.5附近的根:2X^3-4X^2+3X-6=0 #include #include double func(double x) //函数 {return 2*x*x*x-4 ...

  6. 用牛顿迭代法和二分法求方程的根【C语言】

    1.用牛顿迭代法求该方程在1.5附近的根:2X^3-4X^2+3X-6=0 #include<stdio.h> #include<math.h> double func(dou ...

  7. matlab求两方程交点坐标,matlab求交点坐标

    b xi ? 0(i ? 1, 2, , n) 三.线性规划问题的求解方法二元线性规划问题的图解法 线性规划问题的理论解法 线性规划问题的MATLAB软件解法 线性规划问题的图解...... MATL ...

  8. 用符号方法求下列极限或导数matlab,实验7答案 Matlab符号计算

    matlab实验报告答案 实验7 Matlab符号计算 实验目的: 1. 掌握定义符号对象的方法: 2. 掌握符号表达式的运算法则以及符号矩阵运算. 3. 掌握求符号函数极限及导数的方法. 4. 掌握 ...

  9. 用符号方法求下列极限或导数matlab,matlab实验

    3,设有矩阵A 和B 123453 0166789101769A ,11 12131415023416171819209 7021 22 23 24 254 13 11B ???? ????-? ?? ...

最新文章

  1. 在Win10下如何实现VS下工程代码的开机自启功能
  2. ASP.NET MVC 4 (十一) Bundles和显示模式
  3. Redis NoSQL
  4. html自动兼容像素密度,解决 HTML Canvas 元素在高像素密度/高分辨率屏幕上显示模糊的问题...
  5. 拔掉网线时Socket的检查方法
  6. 长春理工大学第十四届程序设计竞赛(重现赛)F.Successione di Fixoracci
  7. 关于pycharm deployment消失的问题
  8. php5.2 array,详解php 5.2.x 数组操作实例
  9. alias怎么每次登陆都保存_设置alias别名并使之重启或者注销用户之后依旧生效...
  10. 用Log Explorer恢复数据的基本操作
  11. python ide_Python id()
  12. Django part 6 ---Static File
  13. 三校生高考计算机基础知识,三校生高考计算机模拟试卷(一)
  14. 使用mongoDB的一些新的(mongoDB报错解决)
  15. VUE使用JS-SDK实现微信分享好友功能(通过点击控件触发)
  16. ctf练习之闯关游戏
  17. Verify the connector‘s configuration, identify and stop any process that‘s listening on port 80, or
  18. 十六进制数高位和低位的结合与分离
  19. 修改VMWARE BIOS的三种方法
  20. pythonturtle画飞机_如何用 Python 画一个纸飞机?| 原力计划

热门文章

  1. GIWIFI自动登录脚本
  2. mysql教材第四章课后题答案_mySQL 教程 第4章 数据查询
  3. 汽车理论常见术语解释
  4. 关闭I9300的照像快门声音
  5. java 代码以管理员身份运行 cmd命令_Win10 开启以管理员身份运行
  6. 一文搞懂如何利用multipart/form-data实现文件的上传与下载
  7. mysql inner join_MySQL内连接(INNER JOIN)
  8. spark的shuffle的write原理逻辑
  9. centos7查看mysql日志_centos7开启mysql日志
  10. v-if 和 v-show 的区别