我是靠谱客的博主 怕孤单小白菜,最近开发中收集的这篇文章主要介绍迭代法 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.14fn',n_reality,x_start,x_reality);

%%

while 1

if(abs(x_reality - x_start) <= tolerance) % 如果满足精度要求,输出结果,跳出while循环

fprintf('在精度不超过%.14f的条件下,方程:%s = 0 的根为 %.14fn迭代次数为:%dn',...

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.14fn',n_reality,x_start,x_reality);

end

end

disp('简单迭代法结束');

end

%%

% 简单迭代法的优点:

% 1.方法简单,易于在计算机上实现

% 2.迭代公式不唯一

% 简单迭代法的缺点

% 1.要求迭代序列收敛

% 2.选取迭代函数,使迭代过程收敛较麻烦

%%

最后

以上就是怕孤单小白菜为你收集整理的迭代法 matlab程序,简单迭代法求方程根的MATLAB程序的全部内容,希望文章能够帮你解决迭代法 matlab程序,简单迭代法求方程根的MATLAB程序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部