牛顿迭代法的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) %输出结果
主程序:
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.mfunction 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代码的主要内容,如果未能解决你的问题,请参考以下文章