我有一个非常奇怪的问题,我需要交上一篇matlab文章。 我写了一个旋转3d矢量的函数。我称之为旋转。“未定义的函数或变量”u“。” MATLAB文章
rotate得到一个向量v,一个角度theta,角度alpha和一个标量r。 该函数将旋转增加矢量用Z轴旋转theta创建的角度,旋转它围绕Z轴(增加X轴创建的角度)alpha,然后用r延长。
例如:
v=(0,0,1)
theta= pi/2
alpha=0
r=1
rotate(v,theta,alpha,r) will return (0,1,0).
我的问题是,每当我调用函数的旋转,我得到一个错误说: ???未定义的函数或变量“u”。
错误==>旋转在51 x = u(1);
而在我写的整个代码中,没有称为“u”的函数或变量。
这是我的代码。基本上,我将向量转换为球形坐标,然后添加theta和alpha。我认为它不应该工作?
function [output] = rotate(v,theta,alpha,r)
if(isnumeric(v))
[i,j]=size(v);
if(i>j)
for i=1:3
sum = sum+pow(v(i,1),2);
end
sum=sqrt(sum);
output(1,1)=sum*r;
output(2,1)=acos(v(3,1)/sum)+theta;
output(3,1)=