matlab 求附近的根,求近似根的算法-matlab实现 | 学步园
在數值計算中,求一個根的近似很重要,因為在因為在用牛頓迭代等其他方法的時候,往往要找一個初始點,初始點的選取應在根的附近。另外,只有知道了近似根,才能有整體轉化為局部。剛剛學數值計算方法,認識有限,大家一起討論
函數文件approot_my.m
function R=approot_my(f,x,epsilon)
y=f(x);
yrange=max(y)-min(y);
epsilon2=yrange*epsilon; %描述y很小,即與x軸相切的點
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曲線的拐點
if(abs(y(k))
m=m+1;
R(m)=x(k);
end
k=k+1;
end
測試函數f.m
function y=f(x)
y=sin(cos(x.^3));
運行
>> x=-2:0.0001:2;
>> approot_my(@f,x,0.001)
ans =
-1.9878?? -1.6766?? -1.1625??? 1.1625??? 1.6766??? 1.9878
一下是測試函數的圖
>> x=-2:0.0001:2;
>> y=sin(cos(x.^3));
>> plot(x,y,x,0)
總結
以上是生活随笔為你收集整理的matlab 求附近的根,求近似根的算法-matlab实现 | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 大纲,Java学科学习大纲
- 下一篇: mysql命令集合,MySql常用命令集