牛顿迭代法的matlab代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛顿迭代法的matlab代码相关的知识,希望对你有一定的参考价值。

参考技术A

function y=f(x)
y=f(x);%函数f(x)的表达式
end
function z=h(x)
z=h(x);%函数h(x)的表达式
end x=X;%迭代初值
i=0;%迭代次数计算
while i<= 100%迭代次数
x0=X-f(X)/h(X);%牛顿迭代格式
if abs(x0-X)>0.01;%收敛判断
X=x0;
else break
end
i=i+1;
end
fprintf('\\n%s%.4f\\t%s%d','X=',X,'i=',i) %输出结果

参考技术B

主程序:

function [k,x,wuca,yx] = newton(x0,tol)

k=1;

yx1=fun(x0);

yx2=fun1(x0);

x1=x0-yx1/yx2;

while abs(x1-x0)>tol

x0=x1;

yx1=fun(x0);

yx2=fun1(x0);

k=k+1;

x1=x1-yx1/yx2;

end

k;

x=x1;

wuca=abs(x1-x0)/2;

yx=fun(x);

end

分程序1:

function y1=fun(x)

y1=sqrt(x^2+1)-tan(x);

end

分程序2:

function    y2=fun1(x)

%函数fun(x)的导数

y2=x/(sqrt(x^2+1))-1/((cos(x))^2);

end

结果:

[k,x,wuca,yx] = newton(-1.2,10^-5)

k =8

x =0.9415

wuca =4.5712e-08

yx =-3.1530e-14

[k,x,wuca,yx] = newton(2.0,10^-5)

k =243

x =NaN

wuca =NaN

yx =NaN

参考技术C newton.m
function y=newton (x0)
x1=x0-fc (x0)/df(x0)
n=1;
while (abs (x1-x0)>1.0e-6)&(n<=100000000)
x0=x1;
x1=x0-fc(x0)/df(x0);n=n+1;
end
x1
n
fc.m
function y=fc(x)
y=3*x.^2-exp(x);
df.m
function y=df(x)
y=6*x-exp(x);

光学基于matlab GUI双缝干涉和牛顿环含Matlab源码 2165期

一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【光学】基于matlab GUI双缝干涉和牛顿环【含Matlab源码 2165期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏物理应用(Matlab)

备注:
点击上面蓝色字体付费专栏物理应用(Matlab),扫描上面二维码,付费299.9元订阅海神之光博客付费专栏,凭支付凭证,私信博主,可免费获得5份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:5份本博客上传CSDN资源代码

二、部分源代码

close all;
clear; clc;
% 生成图片
hmain=figure;
set(gcf,‘menubar’,‘none’,‘numbertitle’,‘off’,‘name’,…
‘基于GUI的电磁波干涉实现方法研究’,‘unit’,‘normalized’);
% 定义字体大小
fs1=16;
fs2=20;
% 标注<

以上是关于牛顿迭代法的matlab代码的主要内容,如果未能解决你的问题,请参考以下文章

牛顿迭代法的Python代码

跪求用牛顿迭代法解三元三次非线性方程组,急!! 在线等。。。MATLAB求解要代码

牛顿迭代法求解非线性方程组 matlab

用MATLAB编出牛顿迭代法的程序

MATLAB用牛顿迭代求解非线性方程的程序

matlab中牛顿法编程