matlab 符号计算 求空间曲线长度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 符号计算 求空间曲线长度相关的知识,希望对你有一定的参考价值。

利用matlab中的符号计算实现求空间曲线c从点(0,0,0)到点(3,3,

2)的长度。曲线c的方程是:x=3*t;y=3*t*t;z=2*t*t*t.
实际上思路大概是这样,关键是用matlab写下它程序,不知有没有专门的matlab函数?

先举个例子。对于二维的,譬如半径为r的圆,其1/4个圆的弧长计算。

x=r*cos(t)
y=r*sin(t)

(dL)^2=(dx)^2+(dy)^2=r^2*(dt)^2
dL=r*dt

>> syms r
>> L=r*int('1',0,pi/2)

L =1/2*r*pi

同理,对于三维空间:
(dL)^2=(dx)^2+(dy)^2+(dz)^2

%matlab程序
syms t
x=3*t;
y=3*t*t;
z=2*t*t*t;
dL=sqrt((diff(x))^2+(diff(y))^2+(diff(z))^2)
%积分上限验证,证明t从0到1
tx=solve(x-'x','t'),tx=subs(tx,3)
ty=solve(y-'y','t'),ty=subs(ty,3)
tz=solve(z-'z','t'),tz=subs(tz,2)
L=int(dL,0,tx)

结果:
L =

5
参考技术A 求曲线弧长公式:
f(t)=根号下(9+6*t+6*t*t)
对f(t)从0到1积分
matlab中用int求积分

matlab中如何计算一条线的长度

跪求 ,急急急急急急急急急急急急

参考技术A 能画出突来,说明这些数据点的坐标是可以得到的。因为你的路径没有解析解,只能用数值近似解。路径由大量的点组成,把路径分割成由点连接的线段。
两个点之间的长度为
sqrt((x1-x0)^2+(y1-y0)^2)
(x0,y0)和(x1,y1)为线段端点的坐标。
把所有点的长度相加即可。
参考技术B 用matab的积分做。
由于这是曲线积分,根据大学中教材高等数学第二版第十一章的定义
>> y = diff(0.2*cos(pi*x));
y =
-(pi*sin(pi*x))/5
>> quad(@(x)(-pi/5)*sin(pi*x),0,2)
ans =
0
参考技术C 如果是图像的话,可以用imtool来显示图像,选择工具栏的tools的measure distance来测两点的距离。

以上是关于matlab 符号计算 求空间曲线长度的主要内容,如果未能解决你的问题,请参考以下文章

matlab怎么计算线段的长度

matlab求曲线长度如何编程

matlab中如何计算一条线的长度

MATlAB中计算函数曲线长度的函数

MATlAB中计算函数曲线长度的函数

mathematic或者其它数学软件求二维曲线长度