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)

17612b0f5c982ea035e615ae4987f850.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值