transform = pi/180;
l1 = 100; l2 = 250; l3 = 200; l4 = 200;
AD = get_AD(l1,l2,l3);
display(AD);
xA = 0; yA = 100;
vAx = 0; vAy = 0;
aAx = 0; aAy = 0;
omega1 = 5;
epsilon1 = 0;
xd = 250; yd = 0;
vdx = 0; vdy = 0;
adx = 0; ady = 0;
M = 1;% 位置模式系数
phi4 = 0; % 滑块和x正方向夹角
omega4 = 0;
epsilon4 = 0;
phi3_MAX = -inf;
phi3_MIN = inf;
A3 = zeros(360,4);%输出四列信息:phi1 phi3 omega3 epsilon3
for phi1 = 1:360
phi1Rad = phi1 * transform;
[xb,yb,vbx,vby,abx,aby] = SingleRod(l1,xA,yA,vAx,vAy,aAx,aAy,phi1Rad,omega1,epsilon1);
%RRR杆组模型调用
[phi2,phi3,omega2,omega3,epsilon2,epsilon3,xc,yc,vcx,vcy,acx,acy] = RRR(xb,yb,xd,yd,vbx,vby,vdx,vdy,abx,aby,adx,ady,l2,l3,M);
%保证phi3的范围以便运用反正切三角函数(考虑到反正切三角函数的值域在-pi/2到pi/2之间)
if phi3 < 0
phi3 = phi3 + pi;
end
if phi3 < phi3_MIN
phi3_MIN = phi3;
omega2_MIN = omega2;
epsilon2_MIN = epsilon2;
end
if phi3 > phi3_MAX
phi3_MAX = phi3;
omega2_MAX = omega2;
epsilon2_MAX = epsilon2;
end
A3(phi1,:) = [phi1,phi3,omega3,epsilon3];
fprintf('phi1=%f,',phi1);
fprintf('phi3=%f,',phi3);
fprintf('omega3=%f,',omega3);
fprintf('epsilon3=%f,',epsilon3);
fprintf('phi1Rad=%f,phi3=%f,phi3_MIN=%f,phi3_MAX=%f\n',phi1Rad,phi3,phi3_MIN,phi3_MAX);
end
%输出2*4的图表
subplot(2,4,1);
plot(A3(:,1),A3(:,2));
grid on;
xlabel('phi1');
ylabel('phi3');
title('CD杆角位移图像');
subplot(2,4,2);
plot(A3(:,1),A3(:,3));
grid on;
xlabel('phi1');
ylabel('omega3');
title('CD杆角速度图像');
subplot(2,4,3);
plot(A3(:,1),A3(:,4));
grid on;
xlabel('phi1');
ylabel('epsilon3');
title('CD杆角加速度图像');
%解方程求DE
DE = fsolve('get_DE',[1.2],optimset('Display','off'));
display(DE);
F = zeros(360,6);% phi1 F位移 速度 加速度 压力角
%for 循环求F的位移,速度,加速度
for phi1 = 1:360
% SingleRod子程序调用
[xe2,ye2,vex2,vey2,aex2,aey2] = SingleRod(DE,xd,yd,vdx,vdy,adx,ady,A3(phi1,2),A3(phi1,3),A3(phi1,4));
% RRP子程序调用
[phi2_2,omega2_2,epsilon2_2,xc2,yc2,vcx2,vcy2,acx2,acy2,sr2,vr2,ar2] = RRP(l4,xe2,ye2,vex2,vey2,aex2,aey2,0,0,0,0,0,0,phi4,omega4,epsilon4,M);
%求压力角
theta = asin(DE * sin(A3(phi1,2)) / 200) ;
gamma = pi/2 - theta;
F(phi1,:) = [phi1,xc2,vcx2,acx2,theta,gamma];
fprintf('phi1=%f,',phi1);
fprintf('xc2=%f,',xc2);
fprintf('vcx2=%f,',vcx2);
fprintf('acx2=%f,',acx2);
fprintf('theta=%f,',theta);
fprintf('gamma=%f\n,',gamma);
end
%输出2*4的图表
subplot(2,4,4);
plot(F(:,1),F(:,2));
grid on
xlabel('phi1')
ylabel('xc2')
title('滑块位移图像')
subplot(2,4,5);
plot(F(:,1),F(:,3));
grid on;
xlabel('phi1');
ylabel('vc2');
title('滑块速度图像');
subplot(2,4,6);
plot(F(:,1),F(:,4));
grid on;
xlabel('phi1');
ylabel('ac2');
title('滑块加速度图像');
subplot(2,4,7);
plot(F(:,1),F(:,5));
grid on;
xlabel('phi1');
ylabel('theta2');
title('压力角图像');
subplot(2,4,8);
plot(F(:,1),F(:,6));
grid on;
xlabel('phi1');
ylabel('gamma2');
title('传动角图像');
天天Matlab代码科研顾问
- 粉丝: 3w+
- 资源: 2508
最新资源
- 基于PHP的FeelDesk工单管理系统开源版设计源码
- 基于Antv-X6的组态编辑器与可视化设计源码
- factoryio2.5工厂流水线仿真程序,期末专周可用,多个场景可以咨询 使用简单的梯形图与SCL语言编写,通俗易懂,起到抛砖引玉的作用,比较适合有动手能力的入门初学者 软件环境: 1、西门子编程
- 基于公有云平台的OpenIoT项目设计源码
- 基于微信小程序文件系统的MxLocalBase本地数据库设计源码
- 基于C语言的2023级寒假实践打地鼠游戏设计源码
- 基于matlab的孔入式静压轴承程序,进油孔数为4个,采用有限差分计算轴承油膜厚度及油膜压力 程序已调通,可直接运行
- 控制电机-感应电动机转差型矢量控制伺服模型系统 仿真模型+实验报告(内附实验参数,仿真波形等) 注意:matlab版本需在2016a以下,否则可能打不开
- 控制电机-正弦波永磁同步电动机矢量控制系统仿真 仿真模型+实验报告(内附实验参数,仿真波形等) 注意:matlab版本需在2016a以下,否则可能打不开
- 基于扰动观测器的永磁同步电机(PMSM)模型预测控制(MPC)仿真 速度外环基于模型预测控制、电流内环基于无差拿控制搭建,控制效果理想,模块程序设计通俗易通
- 基于Laravel的简化Smarty模板引擎设计源码
- NSGA2遗传算法多目标优化 三维视图 寻优多个函数(函数类型见图二类型),出图为三维红色为帕列托(图一), 带最终结果图(图三)
- 基于graqhql/mongodb/nodejs/nuxtjs的Vue跨世代实时在线文档编辑系统设计源码
- 基于Java的用户线程模型设计源码
- 基于Rust Axum框架的Web后端项目设计与源码实践
- 基于HTML、CSS和JavaScript的eui后台UI框架设计源码预览版账号密码提供
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈