matlab中要求向量n1和n2的叉乘,但n1中有个数组变量,所以cross(n1,n2)出错size不一样,求助!!!

[复制链接]
查看11 | 回复2 | 2011-1-14 16:05:43 | 显示全部楼层 |阅读模式
theta=0:0.1*pi:2*pi;
x=(r-t)*cos(theta);
y=(r-t)*sin(theta);
z=sqrt(R^2-((r-t).*sin(theta)-e).^2)./sin(alpha)-(r-t).*cos(theta)./tan(alpha);
n1=[x*(cos(alpha))^2+z*sin(alpha)*cos(alpha) y-e x*sin(alpha)*cos(alpha)+z*(sin(alpha))^2];
n2=[x y 0];
t=cross(n1,n2)

回复

使用道具 举报

千问 | 2011-1-14 16:05:43 | 显示全部楼层
最后三行改成n1=[x*(cos(alpha))^2+z*sin(alpha)*cos(alpha); y-e; x*sin(alpha)*cos(alpha)+z*(sin(alpha))^2];n2=[x; y; zeros(1,length(x))];t=cross(n1,n2)
回复

使用道具 举报

千问 | 2011-1-14 16:05:43 | 显示全部楼层
你的第二个问题zeros(1,length(x))是建立一个1×length(x)维的零矩阵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行