Clear %清除内存变量
m=8.4;mu=0.2;g=9.8; %赋值
sita0=atan(mu); %定义 sita0为弧度值 arctan(mu)
st=sita0*180/pi %将sita0转化为角度值并赋值给st
for i=1:201 %循环开始,i初值为1,两百个循环
sita=(pi/2)*(i-1)/200; %定义每次循环sita的值
angle=sita*180/pi; %将sita转化为角度值并赋值给angle
F=m*g*cos(sita); %计算F的值
If sita<=sita0 %如果斯塔不大于sita0
a=0; %a就等于0
else %否则
a=g*(sin(sita)-mu*cos(sita)); %定义a的值
end %循环到此结束
subplot(2,1,1) %将图域划分为两个部分,且在第一个部分画图
plot(angle,a,’b’) %横坐标angle 纵坐标a,蓝色
xlabel(‘倾角’);ylabel(‘加速度/m/s^2’) %横坐标标注倾角 纵坐标标注加速度/m/s^2
hold on %保持子图
subplot(2,1,2) %在第二部分开始画图
plot(angle,F,’b’) %横坐标angle 纵坐标F,蓝色
xlabel(‘倾角’);ylabel(‘正压力/F’) %横坐标标注倾角 纵坐标标注正压力/F
hold on %保持子图
end %结束
首先,我只是注释,你的程序有很多的毛病,以下是我改的:
Clear
m=8.4;mu=0.2;g=9.8;
sita0=atan(mu);
st=sita0*180/pi
for i=1:201
sita=(pi/2)*(i-1)/200;
angle(i)=sita*180/pi;
F(i)=m*g*cos(sita);
If sita<=sita0
a(i)=0;
else
a(i)=g*(sin(sita)-mu*cos(sita));
end
subplot(2,1,1)
plot(angle,a,’b’)
xlabel(‘倾角’);ylabel(‘加速度/m/s^2’)
hold on
subplot(2,1,2)
plot(angle,F,’b’)
xlabel(‘倾角’);ylabel(‘正压力/F’)
hold off