matlab编写的函数,当传输参数为矩阵时,运行总是出错,跪求大神解释

functionxuanzhuanjuzhen=rotation3(xa,ya,za)%计算三维空间以原点为旋转中心旋转(xangle,yangle,zangel)角度,... function xuanzhuanjuzhen=rotation3(xa,ya,za)
%计算三维空间以原点为旋转中心旋转(xangle,yangle,zangel)角度,即先后绕x,y,z轴旋转对应角度
%求旋转(xangle,yangle,zangel)角度后的点的格式为[x*,y*,z*]=xuanzhuanjizhen*[x,y,z];
z=[cos(za),-sin(za),0;sin(za),cos(za),0;0,0,1];
y=[cos(ya),0,-sin(ya);0,1,0;sin(ya),0,cos(ya)];
x=[1,0,0;0,cos(xa),-sin(xa);0,sin(xa),cos(xa)];
xuanzhuanjuzhen=x*y*z;
运行之后:
??? Error using ==> vertcat
All rows in the bracketed expression must have the same
number of columns.
展开
 我来答
myclownz
2013-08-05 · TA获得超过217个赞
知道小有建树答主
回答量:518
采纳率:0%
帮助的人:211万
展开全部
因为你用矩阵拼接的方法构造x,y,z
例如对z,当传入za是矩阵时,cos(za)是矩阵,但是后面的0和1都只是一个数,造成行列个数不匹配,无法形成矩阵
追问
哦,那应该怎么改呀?
追答
你可以用size()获得传入矩阵的大小然后用zeros()或者ones()获得相应长度的零矩阵和一矩阵,要是需要转置就在后面加一个 ’  就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式