已知类似抛物线的曲线方程 怎么用matlab求出最小曲率半径

已知类似抛物线的曲线方程 怎么用matlab求出最小曲率半径
曲线方程为 y=(-5.324e-015*x.^7)+(-8.452e-012*x^6)+(-5.204e-009*x^5)+(-1.558e-006*x^4)+(-0.0002253*x^3)+(-0.01515*x^2)+(-1.464*x)+222.9 本人对matlab不是很精通 所以大神最好把程序写出来
曲率半径求解的公式
y=f(x)
曲率K=|y''|/[(1+y'^2)^(3/2)]
曲率半径=1/K
魔晶宝宝 1年前 已收到1个回答 举报

温智银 春芽

共回答了13个问题采纳率:76.9% 举报

clear all
clc
syms x;
f=(-5.324e-15*x^7)+(-8.452e-12*x^6)+(-5.204e-9*x^5)+(-1.558e-6*x^4)+(-0.0002253*x^3)+(-0.01515*x^2)+(-1.464*x)+222.9;
f1=diff(f);
f2=diff(f1);
g=(1+f1^2)^(3/2)/abs(f2);
F=@(x)eval(g);
[X,fval]=fminbnd(F,0,2)%X为最小曲率半径事的x的值,fval为最小曲率半径

1年前 追问

3

魔晶宝宝 举报

大神我还有一个问题 这个公式是用拟合工具箱弄出来的 最小曲率半径是抛物线的顶点处啊 这个x值会不会有点问题啊

麻烦再看看 我不是很懂 谢谢了

举报 温智银

自变量的范围要给出来啊



clear all
clc
syms x;

f=(-5.324e-15*x^7)+(-8.452e-12*x^6)+(-5.204e-9*x^5)+(-1.558e-6*x^4)+(-0.0002253*x^3)+(-0.01515*x^2)+(-1.464*x)+222.9;
ezplot(f,[-500 0])
f1=diff(f);
f2=diff(f1);
g=(1+f1^2)^(3/2)/abs(f2)
F=@(x)(eval(g));
[X,fval]=fminbnd(F,-500,0)



另外根据计算的结果最小曲率并不在顶点处,可提高拟合的阶次来降低误差

可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.032 s. - webmaster@yulucn.com