作业帮 > 综合 > 作业

我遇到了这样的问题:是有关matlab求未知曲线长度的.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 09:33:19
我遇到了这样的问题:是有关matlab求未知曲线长度的.
根据给我的一些数据,我用三次样条插值法绘出了一条曲线,不知道函数形式,现在想要求出该曲线的长度,手头仅有该曲线的一系列散点值,请问如何做到呢?
曲线段在上的弧长为采用积分
所求弧长s=∫√(1+y'²)dx
matlab求出各点的导数,然后按照上式积分
再问: 能帮忙给出具体的语句吗?初次接触matlab,会的不多。 例如我现在的图是用plot(xx1,yy1,xx2,yy2)绘出的。
再答: clear >> x=1:0.1:10; >> y=rand(1,length(x)); >> dy=diff(y); >> S=0.1*trapz((1+dy.^2).^0.5) S = 9.6474 >> plot(x,y,'o-')
再问: 你好,非常感谢你的帮助,但是使用上述方法试了一下,结果偏小,以第一段为例(由左下往右上为第一段),显然长度大于500,但是计算结果为485,我猜测是我的程序里没有函数的具体形式。所以给出程序,想请你帮我分析一下: 先定义x1=[……],y1=[……](原始数据) xx1=0:0.1:478; yy1=interp1(x1,y1,xx1,'spline');%三次样条插值 plot(xx1,yy1)%第一段的图 dy=diff(yy1); S=0.1*trapz((1+dy.^2).^0.5) 结果:485.2278