function longitud=hipotrocoides(a,b)
t=0:pi/50:2*pi;
plot(a*cos(t)+b*cos(a*t/2),a*sin(t)-b*sin(a*t/2)) axis equal
syms u longitud=abs(a)*double(int(sqrt(1+b^2/4-b*cos((1+a/2)*u)),u,0,2*pi)); endPara preparar esta función hemos utilizado la expresión del elemento diferencial de arco calculado en el primer apartado. Otra opción es calcular ese elemento diferencial dentro de la función. Repetimos el proceso ahora con ese supuesto, llamando hipotrocoide2 a la nueva función:
function longitud=hipotrocoides2(a,b)
syms u r=[a*cos(u)+b*cos(a*u/2) a*sin(u)-b*sin(a*u/2)];
dr=diff(r); longitud=double(int(sqrt(dr(1)^2+dr(2)^2),u,0,2*pi));
t=0:pi/50:2*pi; x=subs(r(1),u,t); y=subs(r(2),u,t);
plot(x,y) axis equal end
hipotrocoides(8,4)obtenemos que $\mbox{longitud}(C_{8,4})= 106.9191$ y $C_{8,4}$ es la curva
hipotrocoides(8,10)obtenemos que $\mbox{longitud}(C_{8,10})= 253.8470$ y $C_{8,10}$ es la curva
hipotrocoides(-8,10)obtenemos que $\mbox{longitud}(C_{-8,10})= 253.8470$ y $C_{-8,10}$ es la curva