matlab求方程实根,简单迭代法求方程根的MATLAB程序
function [x_reality,n_reality] = Simple_stepit( f_name,x_start,tolerance,n_limit)
%%
% 简单迭代法(也叫不动点迭代法)求解方程f_name = 0根的MATLAB实现
% f_name为迭代函数
% x_start为开始迭代的初始坐标
% tolerance为函数迭代的精度要求
% n_limit为函数的最大迭代次数
%%
% x_reality为最终迭代结果
% n_reality为最后的迭代次数
%%
format long; % 计算结果保留到小数点后14位
fprintf('简单迭代法求方程: %s = 0 的近似根\n',f_name);
n_reality = 1;
fprintf(' n x_start f(x_start)\n');
x_reality = feval(f_name,x_start); % 求方程f_name在x_start处的值,也是初次迭代
fprintf('%3.0f,%14.14f,%14.14f\n',n_reality,x_start,x_reality);
%%
while 1
if(abs(x_reality - x_start) <= tolerance) % 如果满足精度要求,输出结果,跳出while循环
fprintf('在精度不超过%.14f的条件下,方程:%s = 0 的根为 %.14f\n迭代次数为:%d\n',...
tolerance,f_name,x_reality,n_reality);
break;
elseif(n_reality > n_limit) % 如果迭代次数超过限制,输出提示语,结束循环
disp('迭代次数超界');
break;
else
n_reality = n_reality + 1; % 迭代次数加1
x_start = x_reality; % 把上一次迭代的结果赋给x_start
x_reality = feval(f_name,x_start); % 继续下一次迭代
fprintf('%3.0f,%14.14f,%14.14f\n',n_reality,x_start,x_reality);
end
end
disp('简单迭代法结束');
end
%%
% 简单迭代法的优点:
% 1.方法简单,易于在计算机上实现
% 2.迭代公式不唯一
% 简单迭代法的缺点
% 1.要求迭代序列收敛
% 2.选取迭代函数,使迭代过程收敛较麻烦
%%
matlab求方程实根,简单迭代法求方程根的MATLAB程序相关推荐
- 数值计算方法 matlab用二分法或简单迭代法求_牛顿法和二分法介绍及其在空气处理当中的应用...
二分法 如上图所示,对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方 ...
- 数值计算方法 matlab用二分法或简单迭代法求_数学之美:牛顿-拉夫逊迭代法原理及其应用...
[导读] 前面刚转了一篇文章提到了牛顿-拉夫逊(拉弗森)(Newton-Raphson method)方法,感觉这个数学方法很有必要相对深入写一篇文章来总结分享印证一下自己的理解.这是写本文的由来,如 ...
- c语言用迭代法求最大公约数,用迭代法求两个数的最大公约数和最小公倍数
c语言论文 用迭代法求两个数的最大公约数和最小公倍数 化工09110605 摘要:迭代法是一种循环控制语句和循环结构程序的设计方法.在计算机解决问 题的时候,总希望从复杂的问题中找到规律,并归结为简单 ...
- 简单迭代法、牛顿法、弦割法、布洛依登法求解方程或方程组【Matlab】
利用迭代法求解定非线性方程及方程组,使得误差不超过10^(-8).同时应用迭代加速技术,提交迭代运算效率. 此题需要用到的MATLAB代码及附录: 附录6 二分法作根的隔离 % 附录6 二分法作根的隔 ...
- 用迭代法求非线性方程的实根
用迭代法求非线性方程的实根 用迭代法求方程f(x)=e^(-x)-x+1=0的根 #include <stdio.h> #include <math.h> float f(fl ...
- matlab米氏方程作图,根据米氏方程,符合[S]与Km 关系的是
[单选题]员工积极性的最高阶段是( ) [单选题]一定量理想气体从体积V1,膨胀到体积V2分别经历的过程是:A→B等压过程,A→C等温过程;A→D绝热过程,其中吸热量最多的过程( ) [判断题]针对逆 ...
- 牛顿迭代法求平方根原理
牛顿迭代法可以求解n次方的根,但这里只讨论用它来求平方根. 牛顿迭代法求平方根过程 Java代码实现 /*** 求一个数的平方根* @param number* @return*/public sta ...
- matlab求方程实根,matlab怎么求方程的根
MATLAB解方程_IT/计算机_专业资料.一般的代数方程函数solve用于求解一般代数方程的根,假定S为符 号表达式,命令solve (S)求解表达式等于0的根,也 可以再输入一个...... MA ...
- 用迭代法求方程cos(y)-y=0的一个实根
编写一个程序,利用迭代法求cos(y)-y=0的一个实根. 迭代步骤: (1):取y1的初值为0.0. (2):y0=y1,把y1的值赋给y0. (3):y1=cos(y0),求出一个新值y1. (4 ...
最新文章
- 用__builtin_return_address获得程序运行栈情况【转】
- 中修改环境变量_超详干货!Linux环境变量配置全攻略
- 群晖218J安装mysql_ds216(群晖218j可以换内存吗)
- python画玫瑰图_央视都在用的“南丁格尔玫瑰图”,原来Python也可以画
- angularjs中使用swiper时不起作用,最后出现空白位
- matlab基于ssd的角点匹配_基于关键点的目标检测
- c语言文件的读写通讯录,学C三个月了,学了文件,用C语言写了个通讯录程序
- 知识关联的价值还无法与人的关联的价值相比
- 区块链 FISCO BCOS学习文章(2)-FISCO BCOS怎么搭建
- 为什么会出现数据库可疑_为什么要监视网络中的可疑活动
- 密码学算法之 SM2国密算法
- 重装显卡驱动,解决NVIDIA-SMI has failed问题
- 快速学习-web3.js简介与入门
- 人工智能终将自我进化?排除无用功能,让自己更加完美?
- 任正非讲话稿400篇_伟大背后是苦难!任正非“思想之路”:400+讲话稿合集
- 常用的android脱壳工具,Android万能脱壳机
- c语言报数问题程序,转圈报数问题(C语言):有n个人围成一圈,顺序排号……...
- 基于蓝墨云班课的“出门门票”设计与改进
- 寒武纪芯片创始人:要让AI芯片计算效率提高一万倍
- latex 大于等于_Latex使用时的小技巧
热门文章
- C++之左值引用与右值引用
- Android REMOTE_SUBMIX原理(九)
- Mac源码安装使用OpenCV
- 深入剖析Android音频(二)AudioSystem
- Java的String/byte[]/16进制相互转换
- linux如何写一个daemon程序
- SonarLint黄线警告python:S125
- 数据库触发器调用python_从mysql触发器调用python脚本
- MyBatis学习02
- php无线级输出数据,thinkphp5.0无限极分类及格式化输出