江湖救急!一道c语言或matlab编程题用牛顿迭代法找方程的根:lgx+x-2=0要求运行结果及源代码,lgx就是log10(x)

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 09:32:59
江湖救急!一道c语言或matlab编程题用牛顿迭代法找方程的根:lgx+x-2=0要求运行结果及源代码,lgx就是log10(x)

江湖救急!一道c语言或matlab编程题用牛顿迭代法找方程的根:lgx+x-2=0要求运行结果及源代码,lgx就是log10(x)
江湖救急!一道c语言或matlab编程题
用牛顿迭代法找方程的根:
lgx+x-2=0
要求运行结果及源代码,
lgx就是log10(x)

江湖救急!一道c语言或matlab编程题用牛顿迭代法找方程的根:lgx+x-2=0要求运行结果及源代码,lgx就是log10(x)
相信你已经知道牛顿法的迭代格式了
f=log10(x)+x-2; 原方程
Df=1/x*log(10)+1; 求导
牛顿迭代格式:g(x)=x-f/Df;
function [xx,k]=Newton(x0,drt,M)
% 输入:x0 初始迭代点 drt 迭代精度 M最大迭代次数
% 输出:xx 迭代法求得的解,k实际迭代次数
N=@(x)x-(log10(x)+x-2)/(1/x*log(10)+1); % 这是牛顿迭代格式:g(x)=x-f/Df;
% 开始迭代
k=1;
while k> [xx,k]=Newton(2,0.000001,1000)
xx =
1.7556
k =
19
注意函数 f 在x=0处不满足牛顿收敛条件.所以迭代初始点必须满足 x0>0