arc length parametrization help me

4 次查看(过去 30 天)
syms t;
x(t) = sin(3*t^2)*(12*t + (10*13^(1/2))/13);
y(t) = t*(6*13^(1/2)*t + 5);
z(t) = cos(3*t^2)*(12*t + (10*13^(1/2))/13);
%Arc-Length Parametrization
syms tau;
L(t) = int(speed(tau), tau, 0, t);
syms s;
solve(s == L(t), t);
assume(t, 'positive');
g(s) = subs(finverse(L(t)), t, s);
x2(s) = x(g(s))
y2(s) = y(g(s))
z2(s) = z(g(s))
I have no idea how to make code for arc length parametrization. please help me

回答(1 个)

David Goodmanson
David Goodmanson 2020-3-8
Hello HY,
You just need to go back to the basics. There is a vector x,y,z defined by a parameter (t in this case), so the rate of change of the arc length is
ds/dt = sqrt( (dx/dt)^2 + (dy/dt)^2 (dz/dt)^2 )
You can get that quantity in your code with
dsdt = sqrt(diff(x)^2 + diff(y)^2+diff(z)^2)
but actually being able to integrate the result algebraically to find s(t) is a whole different matter. In this case probably not, but once you have the expression you can integrate it numerically.

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by