matlab中求角度的问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 08:57:57
已知轨迹上的点
x=[396.3,341.76,327.38,316.98,338.36,411.4,512.02,677.5,865.09,1049.8,1228.6,1423,1659.4,1923.6,2212.3,2445]
y=[747.8,1242.5,1735.9,2220.7,2697.0,3174.3,3654.7,4126.4,4589.9,5054.2,5518.2,5970.5,6392.3,6778.5,7126.7,7497]
z=[48.3,96.3,103.13,148.83,169.54,299.2,394.06,403.05,407.42,425.4,477.9,566.2,663.3,839.47,1052.6,1295]
求角a和角b
a=asin(abs(z(i+1)-z(i))/sqrtm((x(i+1)-x(i))^2+(y(i+1)-y(i))^2+(z(i+1)-z(i))^2))
b=atan(abs((y(i+1)-y(i))/(x(i+1)-x(i))))
哪位高手帮忙看一下

x=[396.3,341.76,327.38,316.98,338.36,411.4,512.02,677.5,865.09,1049.8,1228.6,1423,1659.4,1923.6,2212.3,2445];
y=[747.8,1242.5,1735.9,2220.7,2697.0,3174.3,3654.7,4126.4,4589.9,5054.2,5518.2,5970.5,6392.3,6778.5,7126.7,7497];
z=[48.3,96.3,103.13,148.83,169.54,299.2,394.06,403.05,407.42,425.4,477.9,566.2,663.3,839.47,1052.6,1295];

dx=diff(x);
dy=diff(y);
dz=diff(z);

a=asin(abs(dz)./sqrt(dx.^2+dy.^2+dz.^2));
b=atan(abs(dy./dx));