作业帮 > 综合 > 作业

matlab 极坐标Loa=40;Lab=50;Rb=24;theta3=acos((Rb*Rb+Loa*Loa-Lab

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/29 01:46:11
matlab 极坐标
Loa=40;
Lab=50;
Rb=24;
theta3=acos((Rb*Rb+Loa*Loa-Lab*Lab)/2/Rb/Loa);
theta4=acos((Loa*Loa+Lab*Lab-Rb*Rb)/2/Lab/Loa);
phi1=0:0.01:pi/3;
psi1=pi/12*((1-cos(3*phi1))-0.25*(1-cos(6*phi1)));
theta1=atan((Loa*sin(phi1-theta3)-Lab*sin(phi1-(theta3+theta4+psi1)))/(Loa*cos(phi1-theta3)-Lab*cos(phi1-(theta3+theta4+psi1))));
rho1=Loa*cos(phi1-theta3-theta1)-Lab*cos(phi1-(theta3+theta4+psi1)-theta1);
phi2=(pi/3):0.01:(2*pi/3);
psi2=pi/6-pi*((1-cos((pi-phi2)*3))+0.25*(1-cos(6*(pi-phi2))))/12;
theta2=atan((Loa*sin(phi2+theta3)-Lab*sin(phi2+(theta3+theta4+psi2)))/(Loa*cos(phi2+theta3)+Lab*cos(phi2+(theta3+theta4+psi2))));
rho2=Loa*cos(phi2+theta3-theta2)-Lab*cos(phi2+(theta3+theta4+psi2)-theta2);
theta=[theta1,theta2];
phi=[phi1,phi2];
rho=[rho1,rho2];
polar(theta,rho);
提示错误为:
Error using ==> polar
THETA and RHO must be the same size.
不知道怎么改这个程序
matlab 极坐标Loa=40;Lab=50;Rb=24;theta3=acos((Rb*Rb+Loa*Loa-Lab
把计算theta1和theta2的除号‘/’改成点除‘./’.改完后如下:
Loa=40;
Lab=50;
Rb=24;
theta3=acos((Rb*Rb+Loa*Loa-Lab*Lab)/2/Rb/Loa);
theta4=acos((Loa*Loa+Lab*Lab-Rb*Rb)/2/Lab/Loa);
phi1=0:0.01:pi/3;
psi1=pi/12*((1-cos(3*phi1))-0.25*(1-cos(6*phi1)));
theta1=atan((Loa*sin(phi1-theta3)-Lab*sin(phi1-(theta3+theta4+psi1)))./(Loa*cos(phi1-theta3)-Lab*cos(phi1-(theta3+theta4+psi1))));
rho1=Loa*cos(phi1-theta3-theta1)-Lab*cos(phi1-(theta3+theta4+psi1)-theta1);
phi2=(pi/3):0.01:(2*pi/3);
psi2=pi/6-pi*((1-cos((pi-phi2)*3))+0.25*(1-cos(6*(pi-phi2))))/12;
theta2=atan((Loa*sin(phi2+theta3)-Lab*sin(phi2+(theta3+theta4+psi2)))./(Loa*cos(phi2+theta3)+Lab*cos(phi2+(theta3+theta4+psi2))));
rho2=Loa*cos(phi2+theta3-theta2)-Lab*cos(phi2+(theta3+theta4+psi2)-theta2);
theta=[theta1,theta2];
phi=[phi1,phi2];
rho=[rho1,rho2];
polar(theta,rho);
再问: 您好我把最后的输出的polar改成polar(phi,rho)了,为什么输出的函数就变成了这样,我明明设置的phi取值是在pi/3到2*pi/3啊?
再答: 这个不是看phi的取值,要看在phi取值下rho的值。 在pi/3到2*pi/3范围内,rho的值为负值,因此在60°到120°范围内,刚好是对称跑到下面的。