本篇文章小编给大家分享一下MATLAB求取离散点的曲率最大值代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
代码如下:
x0 = linspace(0.1,2,100);%x0,y0验证函数离散点,可以非等间隔 y0 = 1./x0; h1 = abs(diff(x0)) ; h = [h1 h1(end)]; ht = h; yapp1 = gradient(y0)./ht; %matlab数值近似 yapp2 = del2(y0)./ht; %matlab数值近似 k2 = abs(yapp2)./(1+yapp1.^2).^(3/2); figure plot(k2) title('曲率曲线') [~,maxFlag] = max(k2);%曲率最大位置 x_max = x0(maxFlag); y_max = y0(maxFlag); %画出图像 标注曲率最大点 figure plot(x0,y0,'.-'); hold on; plot(x_max,y_max,'rp') title('标注最大曲率点') xlabel('log10((norm(B*Xk-L)))') ylabel('log10((norm(Xk)))')