matlab已经拟合出一组多项式的系数 怎么求相应的多项式函数对应的某亮点间曲线的长度已经使用poltfit得到了一组7阶的多项式系数 想要求其中一段曲线的长度 试了很多方法都不行 另外 怎么
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/11 07:23:40
![matlab已经拟合出一组多项式的系数 怎么求相应的多项式函数对应的某亮点间曲线的长度已经使用poltfit得到了一组7阶的多项式系数 想要求其中一段曲线的长度 试了很多方法都不行 另外 怎么](/uploads/image/z/1108479-39-9.jpg?t=matlab%E5%B7%B2%E7%BB%8F%E6%8B%9F%E5%90%88%E5%87%BA%E4%B8%80%E7%BB%84%E5%A4%9A%E9%A1%B9%E5%BC%8F%E7%9A%84%E7%B3%BB%E6%95%B0+%E6%80%8E%E4%B9%88%E6%B1%82%E7%9B%B8%E5%BA%94%E7%9A%84%E5%A4%9A%E9%A1%B9%E5%BC%8F%E5%87%BD%E6%95%B0%E5%AF%B9%E5%BA%94%E7%9A%84%E6%9F%90%E4%BA%AE%E7%82%B9%E9%97%B4%E6%9B%B2%E7%BA%BF%E7%9A%84%E9%95%BF%E5%BA%A6%E5%B7%B2%E7%BB%8F%E4%BD%BF%E7%94%A8poltfit%E5%BE%97%E5%88%B0%E4%BA%86%E4%B8%80%E7%BB%847%E9%98%B6%E7%9A%84%E5%A4%9A%E9%A1%B9%E5%BC%8F%E7%B3%BB%E6%95%B0+%E6%83%B3%E8%A6%81%E6%B1%82%E5%85%B6%E4%B8%AD%E4%B8%80%E6%AE%B5%E6%9B%B2%E7%BA%BF%E7%9A%84%E9%95%BF%E5%BA%A6+%E8%AF%95%E4%BA%86%E5%BE%88%E5%A4%9A%E6%96%B9%E6%B3%95%E9%83%BD%E4%B8%8D%E8%A1%8C+%E5%8F%A6%E5%A4%96+%E6%80%8E%E4%B9%88)
matlab已经拟合出一组多项式的系数 怎么求相应的多项式函数对应的某亮点间曲线的长度已经使用poltfit得到了一组7阶的多项式系数 想要求其中一段曲线的长度 试了很多方法都不行 另外 怎么
matlab已经拟合出一组多项式的系数 怎么求相应的多项式函数对应的某亮点间曲线的长度
已经使用poltfit得到了一组7阶的多项式系数 想要求其中一段曲线的长度
试了很多方法都不行
另外 怎么用这些多项式系数求关于长度的变上限积分 意思就是选择起点以后 如果把终点横坐标看作是变量 怎么去求曲线长度关于这个变量的函数.急用
matlab已经拟合出一组多项式的系数 怎么求相应的多项式函数对应的某亮点间曲线的长度已经使用poltfit得到了一组7阶的多项式系数 想要求其中一段曲线的长度 试了很多方法都不行 另外 怎么
用折线逼近曲线,只要取的点数够多,应该可以达到要求的精度.
示例代码:
% 产生测试数据
x=0:.1:20;
y=sin(x);
% 多项式拟合(使用centering and scaling变换改善拟合效果)
n = 7;
[p,S,mu] = polyfit(x,y,n);
y1 = polyval(p,x,[],mu);
% 曲线的区间
x1=5;
x2=15;
% 使用折线逼近曲线,只要取的点足够多,总能达到要求精度(不考虑数值自身)
N=10; S0=0; e=1e-6;
plot(x,y1);
hold on
h = plot(NaN,NaN,'r.-');
while 1
x = linspace(x1,x2,N);
y = polyval(p,x,[],mu);
set(h,'x',x,'y',y);
drawnow
S = sum( sqrt(diff(x).^2 + diff(y).^2) );
% 若达到精度要求则退出循环
if abs(S-S0)<=e,break,end
% 未达到精度要求则增加点的数量
S0 = S;
N = N * 2;
end
% 输出曲线长度
S