作业帮 > 综合 > 作业

matlab出图的问题,程序如下:

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 04:45:01
matlab出图的问题,程序如下:
%         
%
 clear
 close all
 clc

N = 200.0000000000;          %输入离散点的数目

t = 0:1:N;  t = t*360/N;

K=1.5;H=800;%行程速比等于1.5,工作行程H为800
Xita=180*(K-1)/(K+1);%求极位夹角
L_4=H/(2*sind(Xita/2));%求4杆的长度

 L_o1o2=400;%机架的长度
L_2=L_o1o2*sind(Xita/2);%求2杆的长度

for i=1:N+1
    b = 360/N*(i-1); 
    B_x = L_2*cosd(b);
    B_y = L_2*sind(b);
    Gama(i) = atan(B_x/(B_y + L_o1o2));
    Gama(i) = 90 - Gama(i)/pi*180;
end
clear b; clear B_x; clear B_y;
s = L_4*cosd(Gama);%求位移
v=diff(s);%求速度
a=diff(s,2)%求加速度

subplot(2,2,1);
 plot(t,Gama);
 subplot(2,2,2);
 plot(t,s);
 subplot(2,2,3);
 plot(t,v);
 subplot(2,2,4);
 plot(t,a);
第三个和第四个图出不来,给的提示是
在命令窗口输入,查看diff具体说明
>> help diff
 diff Difference and approximate derivative.
    diff(X),for a vector X,is [X(2)-X(1)  X(3)-X(2) ...X(n)-X(n-1)].
因此你这里求的速度值v的维数要比s维数小1.
注意:画图的时候x轴和y轴的点数必须一致.
因为不可能在第一个时间点就求出速度,所以我建议修改后的时间轴为:
t1=t(2:length(t));
你求的加速度a的维数比s维数小2,因此也要做相应的x轴时间轴的调整.
因为不可能在第1,2个时间点求出加速度,所以我建议修改后的时间轴为:
t2=t(3:length(t));
程序如下:
%         
%
 clear
 close all
 clc

N = 200.0000000000;          %输入离散点的数目

t = 0:1:N;  t = t*360/N;

K=1.5;H=800;%行程速比等于1.5,工作行程H为800
Xita=180*(K-1)/(K+1);%求极位夹角
L_4=H/(2*sind(Xita/2));%求4杆的长度

 L_o1o2=400;%机架的长度
L_2=L_o1o2*sind(Xita/2);%求2杆的长度

for i=1:N+1
    b = 360/N*(i-1); 
    B_x = L_2*cosd(b);
    B_y = L_2*sind(b);
    Gama(i) = atan(B_x/(B_y + L_o1o2));
    Gama(i) = 90 - Gama(i)/pi*180;
end
clear b; clear B_x; clear B_y;
s = L_4*cosd(Gama);%求位移
v=diff(s);%求速度
a=diff(s,2)%求加速度
t1=t(2:length(t));
t2=t(3:length(t));

subplot(2,2,1);
 plot(t,Gama);
 subplot(2,2,2);
 plot(t,s);
 subplot(2,2,3);
 plot(t1,v);
 subplot(2,2,4);
 plot(t2,a);