matlab 求附近的根,求近似根的算法-matlab实现 | 学步园
在數(shù)值計(jì)算中,求一個(gè)根的近似很重要,因?yàn)樵谝驗(yàn)樵谟门nD迭代等其他方法的時(shí)候,往往要找一個(gè)初始點(diǎn),初始點(diǎn)的選取應(yīng)在根的附近。另外,只有知道了近似根,才能有整體轉(zhuǎn)化為局部。剛剛學(xué)數(shù)值計(jì)算方法,認(rèn)識(shí)有限,大家一起討論
函數(shù)文件approot_my.m
function R=approot_my(f,x,epsilon)
y=f(x);
yrange=max(y)-min(y);
epsilon2=yrange*epsilon; %描述y很小,即與x軸相切的點(diǎn)
n=length(x);
m=0;
x(n+1)=x(n);
y(n+1)=y(n);
k=2;
while k<=n
if(y(k-1)*y(k)<=0)
m=m+1;
R(m)=(x(k-1)+x(k))/2;
end
s=(y(k)-y(k-1))*(y(k+1)-y(k));%y曲線的拐點(diǎn)
if(abs(y(k))
m=m+1;
R(m)=x(k);
end
k=k+1;
end
測(cè)試函數(shù)f.m
function y=f(x)
y=sin(cos(x.^3));
運(yùn)行
>> x=-2:0.0001:2;
>> approot_my(@f,x,0.001)
ans =
-1.9878?? -1.6766?? -1.1625??? 1.1625??? 1.6766??? 1.9878
一下是測(cè)試函數(shù)的圖
>> x=-2:0.0001:2;
>> y=sin(cos(x.^3));
>> plot(x,y,x,0)
總結(jié)
以上是生活随笔為你收集整理的matlab 求附近的根,求近似根的算法-matlab实现 | 学步园的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 大纲,Java学科学习大纲
- 下一篇: matlab人脸追踪,求大神帮助我这个菜