典型机构设计与分析101101上机实验指导书.docx
- 文档编号:4281576
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:12
- 大小:126.61KB
典型机构设计与分析101101上机实验指导书.docx
《典型机构设计与分析101101上机实验指导书.docx》由会员分享,可在线阅读,更多相关《典型机构设计与分析101101上机实验指导书.docx(12页珍藏版)》请在冰豆网上搜索。
典型机构设计与分析101101上机实验指导书
上机一MATLAB编程基础训练
一、上机目的
通过给定难度适中的算法,让学生应用matlab编程实现并上机调试,初步奠定学生应用matlab解决问题的基础。
二、上机地点及要求
1、上机地点:
教A楼网络中心3、5机房。
2、上机前必须编好程序,上机调试通过以后完成指定的计算实例。
3、编程语言限Matlab
4、上交源程序打印稿,并附程序使用说明和实际算例的计算结果抓图。
三、编程要求
1.应用plot命令画出函数
如下图所示图形。
2.根据给定算法,编制身份证号码转换程序,可以将15位身份号码转化为18位的有效身份号码,为简化程序编写难度,假设进行转换前已知给15位号码对应的出生世纪,即为“19”或“20”。
转换的时候,主要是求最后一位校验码。
关于中国居民身份证的常识:
我国现行使用公民身份证号码有两种遵循两个国家标准,〖GB11643-1989〗和〖GB11643-1999〗。
〖GB11643-1989〗中规定的是15位身份证号码:
排列顺序从左至右依次为:
六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。
〖GB11643-1999〗中规定的是18位身份证号码:
公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。
排列顺序从左至右依次为:
六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
地址码:
表示编码对象常住户口所在县(市、旗、区)的行政区划代码。
出生日期码:
表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。
顺序码:
表示同一地址码所标识的区域范围内,对同年、同月、同日出生的人员编定的顺序号。
顺序码的奇数分给男性,偶数分给女性。
校验码:
是根据前面十七位数字码,按照ISO7064:
1983.MOD11-2校验码计算出来的检验码。
关于身份证号码最后一位的校验码的算法如下:
∑(a[i]*W[i])mod11(i=2,3,...,18)
"*":
表示乘号
i:
表示身份证号码每一位的序号,从右至左,最左侧为18,最右侧为1。
a[i]:
表示身份证号码第i位上的号码
W[i]:
表示第i位上的权值W[i]=2^(i-1)mod11
设:
R=∑(a[i]*W[i])mod11(i=2,3,...,18)
C=身份证号码的校验码
则R和C之间的对应关系如下表:
R:
012345678910
C:
10X98765432
由此看出X就是10,罗马数字中的10就是X,所以在新标准的身份证号码中可能含有非数字的字母X。
上机二运动分析的矩阵方法
一、上机目的
根据平面机构运动分析的矩阵方法,应用matlab编程求解给定四杆机构的位移、速度和加速度线图。
通过上机调试,初步奠定学生应用matlab进行机构运动分析的基础。
二、上机地点及要求
1、上机地点:
教A楼网络中心3、5机房。
2、上机前必须编好程序,上机调试通过以后完成指定的计算实例。
3、编程语言限Matlab。
4、上交源程序打印稿,并附程序使用说明和实际算例的计算结果抓图。
三、编程要求
1.编程进行图示四杆机构的运动分析,已知:
。
要求:
取
的步长为1°,编程求解对应的杆
位移、速度及加速度的值,并应用绘图指令绘制出相应的线图。
选做(如完成有适当的加分):
1)应用matlab文件IO指令,将求得的数据按格式写入文件中。
2)绘制出P点的运行轨迹。
2,部分参考代码:
functiony=fsolve_ex2()
clc%clearthescreen
L=[306090100];%给定一组四杆机构的杆长
omig1=20;%omig1=20rad/s
x0=[d2r(30);d2r(120)];%猜测一个初始点,可以借助图解法
options=optimset('Display','off');%Optiontodisplayoutput
[x,fval]=fsolve(@myfun,x0,options,0,L)%循环前调用一次,用于获得较好的猜测点
fori=1:
361
seit1(i)=d2r(i-1);%将seit1转换成弧度
x0=x;
[x,fval]=fsolve(@myfun,x0,options,seit1(i),L);
seit2(i)=x
(1);
seit3(i)=x
(2);
end
h=plot(r2d(seit1),r2d(seit2))
set(h,'LineWidth',2,'color','red','LineStyle','--');
holdon
h=plot(r2d(seit1),r2d(seit3));
set(h,'LineWidth',2,'color','cyan','LineStyle','-');
gridon
legend('\itseit3--seit1','\itseit3--seit1')
%根据结果求解线性方程组,实现速度分析
fori=1:
361
%根据已知的seit1,写出对应的系数矩阵和常数矩阵,求线性方程组
%并将对应的连杆2、3的角速度保存在相应的变量数组中
A=[-L
(2)*sin(seit2(i))L(3)*sin(seit3(i))
L
(2)*cos(seit2(i))-L(3)*cos(seit3(i))];
b=[omig1*L
(1)*sin(seit1(i));-omig1*L
(1)*cos(seit1(i))];
w=A\b;
omig2(i)=w
(1);
omig3(i)=w
(2);
end
%绘制对应的函数曲线
figure%打开一个新的图形窗口
h=plot(r2d(seit1),omig2)
set(h,'LineWidth',2,'color','blue','LineStyle','-.');
holdon
h=plot(r2d(seit1),omig3);
set(h,'LineWidth',2,'color','black','LineStyle','-');
gridon
legend('\itomig2--seit1','\itomig3--seit1')
%根据结果求解线性方程组,实现加速度分析并绘图,由同学们上机实验时自
%行完成
%求p点的轨迹,并绘图表示,选做,建议进行研究并完成。
functionF=myfun(x,seit1,L)
%seit1代表每一个时刻对应曲柄的转角θ1
%L
(1),L
(2),L(3),L(4)分别代表各杆长l1,l2,l3,l4
%x
(1)代表θ2,x
(2)代表θ3
F
(1)=L
(2)*cos(x
(1))-L(3)*cos(x
(2))+L
(1)*cos(seit1)-L(4);
F
(2)=L
(2)*sin(x
(1))-L(3)*sin(x
(2))+L
(1)*sin(seit1);
functiony=d2r(x)
y=x*pi/180;
functiony=r2d(x)
y=x*180/pi;
3.参考的运行结果:
上机三优化工具箱使用训练
一、上机目的
熟悉matlab优化工具箱的使用方法,会根据给定的优化模型,设定适当的参数调用优化工具箱中的函数进行优化模型求解。
主要包括无约束优化模型机有约束优化模型。
二、上机地点及要求
1、上机地点:
教A楼网络中心3、5机房。
2、上机前必须编好程序,上机调试通过以后完成指定的计算实例。
3、编程语言限Matlab。
4、上交源程序打印稿,并附程序使用说明和实际算例的计算结果抓图。
三、编程要求
1.编程求解无约束优化模型:
给定其初始点为
。
参考答案:
2.编程求解下面的约束优化模型:
取初始点
。
参考答案:
3.选做。
编制黄金分割法程序,求一元函数
在区间
中的极小点,要求收敛精度
。
上机四共轭凸轮机构设计
一、上机目的
熟悉应用五次多项式拼接递纸机构运动规律的方法。
研读参考程序,编制不同的边界条件,输出对应的递纸牙摆臂的运动规律,并对输出结果进行简单的分析。
二、上机地点及要求
1、上机地点:
教A楼网络中心3、5机房。
2、上机前必须编好程序,上机调试通过以后完成指定的计算实例。
3、编程语言限Matlab。
4、上交实验报告,不需要打印程序代码,要求附上不同边界条件下的输出结果抓图,并进行简单分析。
三、实验要求与步骤
1.研读参考程序,熟练掌握应用5次多项式拼接递纸机构运动规律的方法。
2.将参考程序拷贝至work文件夹,并保存为cam_polycurve.m
%递纸牙五次曲线运动规律拼接源程序
functioncam_polycurve()
clc
clearall
fid1=fopen('cam_polyinput12.txt','r');%这一行文件名可以修改
[A,count1]=fscanf(fid1,'%f%f%f%f%f%f%f%f',[8,inf]);
fclose(fid1);
a=A';
fori=1:
6
seit0(i)=a(i,1);
beit0(i)=a(i,2);
w0(i)=a(i,3);
ybs0(i)=a(i,4);
seitt(i)=a(i,5);
beitt(i)=a(i,6);
wt(i)=a(i,7);
ybst(i)=a(i,8);
end
wi=20.944;%12000rph
%wi=26.18;%15000rph
k=zeros(6,6);
%calculatethecoeeoftheeachequations
fori=1:
6
fa0=d2r(seit0(i));
fa1=d2r(seitt(i));
x=[1.0fa0fa0^2fa0^3fa0^4fa0^5
0.01.02*fa03*fa0^24*fa0^35*fa0^4
0.00.02.06*fa012*fa0^220*fa0^3
1.0fa1fa1^2fa1^3fa1^4fa1^5
0.01.02*fa13*fa1^24*fa1^35*fa1^4
0.00.02.06*fa112*fa1^220*fa1^3];
b=[d2r(beit0(i))
w0(i)/wi
ybs0(i)/(wi^2)
d2r(beitt(i))
wt(i)/wi
ybst(i)/(wi^2)];
c=x\b;
forj=1:
6
k(i,j)=c(j);
end
end
forj=1:
6
d(j)=seitt(j)+1;
end
%plotthecurves
%thefirstsection
fori=1:
d
(1)
fa(i)=d2r(i-1);
ybs(i)=wi^2*(2*k(1,3)+6*k(1,4)*fa(i)+12*k(1,5)*fa(i)^2+20*k(1,6)*fa(i)^3);
w(i)=wi*(k(1,2)+2*k(1,3)*fa(i)+3*k(1,4)*fa(i)^2+4*k(1,5)*fa(i)^3+5*k(1,6)*fa(i)^4);
beit(i)=k(1,1)+k(1,2)*fa(i)+k(1,3)*fa(i)^2+k(1,4)*fa(i)^3+k(1,5)*fa(i)^4+k(1,6)*fa(i)^5;
beit(i)=r2d(beit(i));
end
%thesecondsection
fori=d
(1):
d
(2)
fa(i)=d2r(i-1);
ybs(i)=0;%wi^2*(2*k(2,3)+6*k(2,4)*fa(i)+12*k(2,5)*fa(i)^2+20*k(2,6)*fa(i)^3);
w(i)=w0
(2);%wi*(k(2,2)+2*k(2,3)*fa(i)+3*k(2,4)*fa(i)^2+4*k(2,5)*fa(i)^3+5*k(2,6)*fa(i)^4);
temp=d2r(beit0
(2))-d2r(seit0
(2))*w0
(2)/wi;
beit(i)=temp+w0
(2)*fa(i)/wi;%k(2,1)+k(2,2)*fa(i)+k(2,3)*fa(i)^2+k(2,4)*fa(i)^3+k(2,5)*fa(i)^4+k(2,6)*fa(i)^5;
beit(i)=r2d(beit(i));
a=beit(i);
end
%thethirdsection
fori=d
(2):
d(3)
fa(i)=d2r(i-1);
ybs(i)=wi^2*(2*k(3,3)+6*k(3,4)*fa(i)+12*k(3,5)*fa(i)^2+20*k(3,6)*fa(i)^3);
w(i)=wi*(k(3,2)+2*k(3,3)*fa(i)+3*k(3,4)*fa(i)^2+4*k(3,5)*fa(i)^3+5*k(3,6)*fa(i)^4);
beit(i)=k(3,1)+k(3,2)*fa(i)+k(3,3)*fa(i)^2+k(3,4)*fa(i)^3+k(3,5)*fa(i)^4+k(3,6)*fa(i)^5;
beit(i)=r2d(beit(i));
end
%thefourthsection
fori=d(3):
d(4)
fa(i)=d2r(i-1);
ybs(i)=wi^2*(2*k(4,3)+6*k(4,4)*fa(i)+12*k(4,5)*fa(i)^2+20*k(4,6)*fa(i)^3);
w(i)=wi*(k(4,2)+2*k(4,3)*fa(i)+3*k(4,4)*fa(i)^2+4*k(4,5)*fa(i)^3+5*k(4,6)*fa(i)^4);
beit(i)=k(4,1)+k(4,2)*fa(i)+k(4,3)*fa(i)^2+k(4,4)*fa(i)^3+k(4,5)*fa(i)^4+k(4,6)*fa(i)^5;
beit(i)=r2d(beit(i));
end
%thefifthsection
fori=d(4):
d(5)
fa(i)=d2r(i-1);
ybs(i)=wi^2*(2*k(5,3)+6*k(5,4)*fa(i)+12*k(5,5)*fa(i)^2+20*k(5,6)*fa(i)^3);
w(i)=wi*(k(5,2)+2*k(5,3)*fa(i)+3*k(5,4)*fa(i)^2+4*k(5,5)*fa(i)^3+5*k(5,6)*fa(i)^4);
beit(i)=k(5,1)+k(5,2)*fa(i)+k(5,3)*fa(i)^2+k(5,4)*fa(i)^3+k(5,5)*fa(i)^4+k(5,6)*fa(i)^5;
beit(i)=r2d(beit(i));
end
%thelastsection
fori=d(5):
d(6)
fa(i)=d2r(i-1);
ybs(i)=wi^2*(2*k(6,3)+6*k(6,4)*fa(i)+12*k(6,5)*fa(i)^2+20*k(6,6)*fa(i)^3);
w(i)=wi*(k(6,2)+2*k(6,3)*fa(i)+3*k(6,4)*fa(i)^2+4*k(6,5)*fa(i)^3+5*k(6,6)*fa(i)^4);
beit(i)=k(6,1)+k(6,2)*fa(i)+k(6,3)*fa(i)^2+k(6,4)*fa(i)^3+k(6,5)*fa(i)^4+k(6,6)*fa(i)^5;
beit(i)=r2d(beit(i));
end
fori=1:
361
fa(i)=r2d(fa(i));
%beit(i)=r2d(beit(i));
end
subplot(3,1,1);plot(fa,beit);gridon
subplot(3,1,2);plot(fa,w);gridon
subplot(3,1,3);plot(fa,ybs);gridon
fid2=fopen('cam_ybsout12.txt','wt');
fid3=fopen('cam_beitout12.txt','wt');
fid4=fopen('cam_omigtout12.txt','wt');
fori=1:
361
fprintf(fid2,'%f%f\n',fa(i),ybs(i));
fprintf(fid3,'%f%f\n',fa(i),beit(i));
fprintf(fid4,'%f%f\n',fa(i),w(i));
end
fclose(fid2);
fclose(fid3);
fclose(fid4);
%subfunctiontranstheangletorad
functiony1=d2r(d)
y1=d*pi/180.0;
%subfunctiontranstheradtoangle
functiony2=r2d(r)
y2=r*180.0/pi;
3.编制边界条件文件
>>editcam_polyinput12.txt
输入如下格式数据后保存:
4.运行程序,输出结果,并进行抓图保存。
5.在上面的数据文件基础上,修改边界条件文件,并对输出结果进行对比和分析。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 典型 机构 设计 分析 101101 上机 实验 指导书