作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/09 11:48:48
matlab中要求向量n1和n2的叉乘,但n1中有个数组变量,所以cross(n1,n2)出错size不一样,
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)
matlab中要求向量n1和n2的叉乘,但n1中有个数组变量,所以cross(n1,n2)出错size不一样,
最后三行改成
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)