理论力学matlab编程

合集下载

汽车理论习题Matlab程序

汽车理论习题Matlab程序

确定一轻型货车的动力性能货车可装用4挡或5挡变速器,任选其中的一种进行整车性能计算:1绘制汽车驱动力与行驶阻力平衡图;2求汽车最高车速,最大爬坡度及克服该坡度时相应的附着率;3绘制汽车行驶加速度倒数曲线,用图解积分法求汽车用2档起步加速行驶至70km/h的车速-时间曲线,或者用计算机求汽车用2档起步加速行驶至70km/h的加速时间;轻型货车的有关数据:汽油发动机使用外特性的Tq-n曲线的拟合公式为式中,Tq为发动机转矩N m;n为发动机转速r/min;发动机的最低转速nmin =600r/min,最高转速nmax=4000r/min;装载质量 2000kg 整车整备质量 1800kg 总质量 3880kg 车轮半径传动系机械效率ηt=滚动阻力系数f=空气阻力系数×迎风面积C D A=主减速器传动比i0=飞轮转动惯量 I f=m2二前轮转动惯量I w1=m2四后轮转动惯量I w2=m2质心至前轴距离满载 a=质心高满载 hg=解:Matlab程序:1 求汽车驱动力与行驶阻力平衡图和汽车最高车速程序: n=600:10:4000;Tq=+n/1000n/1000.^2+n/1000.^n/1000.^4;m=3880;g=;nmin=600;nmax=4000;G=mg;ig= ;nT=;r=;f=;CDA=;i0=;L=;a=;hg=;If=;Iw1=;Iw2=;Ft1=Tqig1i0nT/r;Ft2=Tqig2i0nT/r;Ft3=Tqig3i0nT/r;Ft4=Tqig4i0nT/r;Ft5=Tqig5i0nT/r;ua1=rn/ig1/i0;ua2=rn/ig2/i0;ua3=rn/ig3/i0;ua4=rn/ig4/i0;ua5=rn/ig5/i0;ua=0:5:120;Ff=Gf;Fw=CDAua.^2/;Fz=Ff+Fw;plotua1,Ft1,ua2,Ft2,ua3,Ft3,ua4,Ft4,ua5,Ft5,ua,Fz;title'驱动力-行驶阻力平衡图';xlabel'uakm/s';ylabel'FtN';gtext'Ft1',gtext'Ft2',gtext'Ft3',gtext'Ft4',gtext'Ft5',gtext'Ff+Fw'; zoom on;x,y=ginput1;zoom off;disp'汽车最高车速=';dispx;disp'km/h';汽车最高车速=km/h2求汽车最大爬坡度程序:n=600:10:4000;Tq=+n/1000n/1000.^2+n/1000.^n/1000.^4;m=3880;g=;nmin=600;nmax=4000;G=mg;ig= ;nT=;r=;f=;CDA=;i0=;L=;a=;hg=;If=;Iw1=;Iw2=;Ft1=Tqig1i0nT/r;ua1=rn/ig1/i0;Ff=Gf;Fw1=CDAua1.^2/;Fz1=Ff+Fw1;Fi1=Ft1-Fz1;Zoom on;imax=100tanasinmaxFi1/G;disp'汽车最大爬坡度=';dispimax;disp'%';汽车最大爬坡度=%3求最大爬坡度相应的附着率和求汽车行驶加速度倒数曲线程序:clearn=600:10:4000;Tq=+n/1000n/1000.^2+n/1000.^n/1000.^4;m=3880;g=;nmin=600;nmax=4000;G=mg;ig= ;nT=;r=;f=;CDA=;i0=;L=;a=;hg=;If=;Iw1=;Iw2=;Ft1=Tqig1i0nT/r;Ft2=Tqig2i0nT/r;Ft3=Tqig3i0nT/r;Ft4=Tqig4i0nT/r;Ft5=Tqig5i0nT/r;ua1=rn/ig1/i0;ua2=rn/ig2/i0;ua3=rn/ig3/i0;ua4=rn/ig4/i0;ua5=rn/ig5/i0;Fw1=CDAua1.^2/;Fw2=CDAua2.^2/;Fw3=CDAua3.^2/;Fw4=CDAua4.^2/;Fw5=CDAua5.^2/;Ff=Gf;deta1=1+Iw1+Iw2/mr^2+Ifig1^2i0^2nT/mr^2;deta2=1+Iw1+Iw2/mr^2+Ifig2^2i0^2nT/mr^2;deta3=1+Iw1+Iw2/mr^2+Ifig3^2i0^2nT/mr^2;deta4=1+Iw1+Iw2/mr^2+Ifig4^2i0^2nT/mr^2;deta5=1+Iw1+Iw2/mr^2+Ifig5^2i0^2nT/mr^2;a1=Ft1-Ff-Fw1/deta1m;ad1=1./a1;a2=Ft2-Ff-Fw2/deta2m;ad2=1./a2;a3=Ft3-Ff-Fw3/deta3m;ad3=1./a3;a4=Ft4-Ff-Fw4/deta4m;ad4=1./a4;a5=Ft5-Ff-Fw5/deta5m;ad5=1./a5;plotua1,ad1,ua2,ad2,ua3,ad3,ua4,ad4,ua5,ad5;axis0 99 0 10;title'汽车的加速度倒数曲线';xlabel'uakm/h';ylabel'1/a';gtext'1/a1';gtext'1/a2';gtext'1/a3';gtext'1/a4';gtext'1/a5'; a=maxa1;af=asinmaxFt1-Ff-Fw1/G;C=tanaf/a/L+hgtanaf/L;disp'假设后轮驱动,最大爬坡度相应的附着率=';dispC;假设后轮驱动,最大爬坡度相应的附着率=4 >>clearnT=;r=;f=;CDA=;i0=;If=;Iw1=;Iw2=;L=;a=;hg=;m=3880;g=;G=mg; ig= ;nmin=600;nmax=4000;u1=rnmin./ig/i0;u2=rnmax./ig/i0;deta=0ig;for i=1:5detai=1+Iw1+Iw2/mr^2+Ifigi^2i0^2nT/mr^2;endua=6::99;N=lengthua;n=0;Tq=0;Ft=0;inv_a=0ua;delta=0ua; Ff=Gf;Fw=CDAua.^2/;for i=1:Nk=i;if uai<=u22n=uaiig2i0/r/;Tq=+n/1000n/1000^2+n/1000^n/1000^4;Ft=Tqig2i0nT/r;inv_ai=deta2m/Ft-Ff-Fwi;deltai=inv_ai/;elseif uai<=u23n=uaiig3i0/r/;Tq=+n/1000n/1000^2+n/1000^n/1000^4;Ft=Tqig3i0nT/r;inv_ai=deta3m/Ft-Ff-Fwi;deltai=inv_ai/;elseif uai<=u24n=uaiig4i0/r/;Tq=+n/1000n/1000^2+n/1000^n/1000^4;Ft=Tqig4i0nT/r;inv_ai=deta4m/Ft-Ff-Fwi;deltai=inv_ai/;elsen=uaiig5i0/r/;Tq=+n/1000n/1000^2+n/1000^n/1000^4;Ft=Tqig5i0nT/r;inv_ai=deta5m/Ft-Ff-Fwi;deltai=inv_ai/;enda=delta1:k;ti=suma;endplott,ua;axis0 80 0 100;title'汽车2档原地起步换挡加速时间曲线';xlabel'时间ts';ylabel'速度uakm/h';>> ginputans =所以汽车2档原地起步换挡加速行驶至70km/h 的加速时间约为已知货车装用汽油发动机的负荷特性与万有特性;负荷特性曲线的拟合公式为:44332210e e e e P B P B P B P B B b ++++=其中,b 为燃油消耗率g/kW h ;Pe 为发动机净功率kW ;拟合式中的系数随转速n 变化;怠速油耗s mL Q id /299.0=怠速转速400r/min;计算与绘制题中货车的1汽车功率平衡图;2最高档与次高档的等速百公里油耗曲线;或利用计算机求货车按JB3352-83规定的六工况循环行驶的百公里油耗;计算中确定燃油消耗值b 时,若发动机转速与负荷特性中给定的转速不相等,可由相邻转速的两根曲线用插值法求得;解:Matlab 程序:(1)汽车功率平衡图程序:clearn=600:10:4000;Tq=+n/1000n/1000.^2+n/1000.^n/1000.^4;m=3880;g=;G=mg;ig= ;nT=;r=;f=;CDA=;i0=;L=;a=;hg=;If=;Iw1=;Iw2=;ua1=rn/ig1/i0;ua2=rn/ig2/i0;ua3=rn/ig3/i0;ua4=rn/ig4/i0;ua5=rn/ig5/i0;Pe1=Tq.ig1i0.ua1./3600r;Pe2=Tq.ig2i0.ua2./3600r;Pe3=Tq.ig3i0.ua3./3600r;Pe4=Tq.ig4i0.ua4./3600r;Pe5=Tq.ig5i0.ua5./3600r;ua=0::119;Ff=Gf;Fw=CDAua.^2/;Pf=Ffua/3600;Pw=Fw.ua/3600;Pe0=Pf+Pw./nT;Pe=maxPe1;plotua1,Pe1,ua2,Pe2,ua3,Pe3,ua4,Pe4,ua5,Pe5,ua,Pe0,ua,Pe;axis0 119 0 100;title'汽车功率平衡图';xlabel'uakm/h';ylabel'Pekw';gtext'1',gtext'2',gtext'3',gtext'4',gtext'5',gtext'Pf+Pw/et',gt ext'Pe';2最高档与次高档的等速百公里油耗曲线程序:clearn=600:1:4000;m=3880;g=;G=mg;ig= ;nT=;r=;f=;CDA=;i0=;L=;a=;hg=;If=;Iw1=;Iw2=;n0=815 1207 1614 2012 2603 3006 3403 3804;B00= ;B10= ;B20= ;B30= ;B40= ;B0=splinen0,B00,n;B1=splinen0,B10,n;B2=splinen0,B20,n;B3=splinen0,B30,n;B4=splinen0,B40,n;Ff=Gf;ua4=rn/ig4/i0;ua5=rn/ig5/i0;Fz4=Ff+CDAua4.^2/;Fz5=Ff+CDAua5.^2/;Pe4=Fz4.ua4./nT1000;Pe5=Fz5.ua5./nT1000;for i=1:1:3401b4i=B0i+B1iPe4i+B2iPe4i.^2+B3iPe4i.^3+B4iPe4i.^4; b5i=B0i+B1iPe5i+B2iPe5i.^2+B3iPe5i.^3+B4iPe5i.^4; endpg=;Q4=Pe4.b4./.ua4.pg;Q5=Pe5.b5./.ua5.pg;plotua4,Q4,ua5,Q5;axis0 100 10 30;title'最高档与次高档等速百公里油耗曲线';xlabel'uakm/h';ylabel'百公里油耗L/100km';gtext'4',gtext'5';i为、、、、时的燃油经济性—加速时改变题中轻型货车的主减速器传动比,做出i值对汽车性能的影响;间曲线,讨论不同解:Matlab程序:主程序:i0=,,,,; %输入主传动比的数据for i=1:1:5yi=jiasushijiani0i; %求加速时间endy;for i=1:1:5bi=youhaoi0i; %求对应i0的六工况百公里油耗endb;plotb,y,'+r'hold onb1=linspaceb1,b5,100;y1=splineb,y,b1; %三次样条插值plotb1,y1; %绘制燃油经济性-加速时间曲线title'燃油经济性—加速时间曲线';xlabel'百公里油耗L/100km';ylabel'加速时间s';gtext'i0=',gtext'i0=',gtext'i0=',gtext'i0=',gtext'i0=';子程序:1 function y=jiasushijiani0 %求加速时间的处理函数n1=linspace0,5000; %先求各个档位的驱动力nmax=4000;nmin=600;r=;yita=;CDA=;f=;G=3880;ig=,,,;%i0=for i=1:1:4 %i为档数uamaxi=chesunmax,r,igi,i0; %计算各个档位的最大速度与最小速度uamini=chesunmin,r,igi,i0;uai,:=linspaceuamini,uamaxi,100;ni,:=zhuansuuai,:,r,igi,i0; %计算各个档位的转速范围 Ttqi,:=zhuanjuni,:; %求出各档位的转矩范围 Fti,:=qudongliTtqi,:,igi,i0,yita,r; %求出驱动力Fi,:=fG+CDAuai,:.^2/; %求出滚动阻力和空气阻力的和deltai,:=1+++igi^2i0^2yita/3880r^2; %求转动质量换算系数ai,:=1./deltai,:.3880./Fti,:-Fi,:; %求出加速度F2i,:=Fti,:-Fi,:;end%下面分各个档位进行积分,求出加速时间temp11,:=ua2,:/;temp12,:=1./a2,:;n1=1;for j1=1:1:100if ua3,j1>maxua2,:&&ua3,j1<=70temp21,n1=ua3,j1/;temp22,n1=1./a3,j1;n1=n1+1;endendn2=1;for j1=1:1:100if ua4,j1>maxua3,:&&ua4,j1<=70;temp31,n2=ua4,j1/;temp32,n2=1./a4,j1;n2=n2+1;endendy=temp11,1temp12,1+qiujitemp11,:,temp12,:+qiujitemp21,:,temp22,:+qiuj itemp31,:,temp32,:;end2 function ua=chesun,r,ig,i0; %由转速计算车速ua=r.n/igi0;3 function n=zhuansuua,r,ig,i0; %求转速n=igi0.ua./r;end4 function y=zhuanjun; %求转矩函数y=+.n./1000.n./1000.^2+.n./1000.^.n./1000.^4;5 function y=qudongliTtq,ig,i0,yita,r; %求驱动力函数y=igi0yita.Ttq/r;end6 function p=qiujix0,y0 %求积分函数n0=sizex0;n=n02;x=linspacex01,x0n,200 ;y=splinex0,y0,x; %插值% figure;plotx,y;p=trapzx,y ;end7 %求不同i0下的六工况油耗function b=youhaoi0;global f G CDA yita m r If Iw1 Iw2 pg B0 B1 B2 B3 B4 n %声明全局变量ig=,,,;r=;yita=;CDA=;f=;%i0=;G=3880;If=;Iw1=;Iw2=;m=3880; %汽车的基本参数设定n0=815 1207 1614 2012 2603 3006 3403 3804;B00= ;B10= ;B20= ;B30= ;B40= ;n=600:1:4000;B0=splinen0,B00,n;B1=splinen0,B10,n;B2=splinen0,B20,n; %使用三次样条插值,保证曲线的光滑连续B3=splinen0,B30,n;B4=splinen0,B40,n;ua4=r.n./i0ig4; %求出发动机转速范围内对应的III、IV档车速F4=fG+CDAua4.^2/; %求出滚动阻力和空气阻力的和P_fw4=F4.ua4./yita1000; %求出阻力功率for i=1:1:3401 %用拟合公式求出各个燃油消耗率b4i=B0i+B1iP_fw4i+B2iP_fw4i^2+B3iP_fw4i^3+B4iP_fw4i^4;endpg=; %汽油的重度取Lua4_m=25,40,50; %匀速阶段的车速s_m=50,250,250; %每段匀速走过的距离b4_m=splineua4,b4,ua4_m; %插值得出对应速度的燃油消耗率F4_m=fG+CDAua4_m.^2/; %车速对应的阻力P_fw4_m=F4_m.ua4_m./yita1000; %发动机功率Q4_m=P_fw4_m.b4_m.s_m./102.ua4_m.pg ; Q4_a1=jiasu40,25,ig4,,ua4,i0; Q4_a2=jiasu50,40,ig4,,ua4,i0; Qid=;tid=;s=1075;Q_i=Qidtid; %求出减速阶段的燃油消耗量 Q4all=sumQ4_m+Q4_a1+Q4_a2+Q_i100/s; %IV 档六工况百公里燃油消耗量 b=Q4all;8加速阶段处理函数function q=jiasuumax,umin,ig,a,ua0,i0;global f G CDA yita m r If Iw1 Iw2 pg B0 B1 B2 B3 B4 n; %i0 ; ua1=umin:1:umax; %把速度范围以1km/h 为间隔进行划分 delta=1+Iw1+Iw2/mr^2+Ifig^2i0^2yita/mr^2;P0=Gf.ua0./3600+CDA.ua0.^3/76140+deltam.ua0/3600a/yita; P=Gf.ua1/3600+CDA.ua1.^3/76140+deltam.ua1/3600a/yita; dt=1/a ; %速度每增加1km/h 所需要的时间for i=1:1:3401 %重新利用拟合公式求出b 与ua 的关系 b0i=B0i+B1iP0i+B2iP0i^2+B3iP0i^3+B4iP0i^4; endb1=interp1ua0,b0,ua1; %插值出各个速度节点的燃油消耗率 Qt=P.b1./.pg; %求出各个速度节点的燃油消耗率 i1=sizeQt; i=i12;Qt1=Qt2:i-1;q=Qt1+Qtidt./2+sumQt1dt; %求该加速阶段的燃油消耗量2)求行驶车速Ua =30km/h,在ϕ=路面上车轮不抱死的制动距离;计算时取制动系反应时间'2τ=,制动减速度上升时间''2τ=;3)求制动系前部管路损坏时汽车的制动距离s,制动系后部管路损坏时汽车的制动距离's ; 解:Matlab 程序: (1) 求利用附着系数曲线和制动效率曲线程序: cleark=4080;hgk=;Lk=;ak=;betak=;bk=Lk-ak;%空载时的参数 mm=9290;hgm=;Lm=;am=;betam=;bm=Lm-am;%满载时的参数 z=0::; figure1; fai=z;fai_fk=betakzLk./bk+zhgk;%空载时前轴的φffai_fm=betamzLm./bm+zhgm;%满载时前轴的φffai_rk=1-betakzLk./ak-zhgk;%空载时后轴的φrfai_rm=1-betamzLm./am-zhgm;%满载时后轴的φrplotz,fai_fk,'b--',z,fai_fm,'r',z,fai_rk,'b--',z,fai_rm,'r',z,fai,' k';title'利用附着系数与制动强度的关系曲线';xlabel'制动强度z/g';ylabel'利用附着系数φ';gtext'φr空载',gtext'φr满载',gtext'φ=z',gtext'φf空载',gtext'φf 满载';figure2;Efk=z./fai_fk100;%空载时前轴的制动效率Efm=z./fai_fm100;Erk=z./fai_rk100;Erm=z./fai_rm100;plotfai_fk,Efk,'b',fai_fm,Efm,'r',fai_rk,Erk,'b',fai_rm,Erm,'r'; axis0 1 0 100;title'前.后制动效率曲线';xlabel'附着系数φ';ylabel'制动效率%';gtext'Ef',gtext'Er',gtext'Er',gtext'满载',gtext'空载';(2)问和3问程序:clearmk=4080;hgk=;Lk=;ak=;betak=;bk=Lk-ak;%空载时的参数mm=9290;hgm=;Lm=;am=;betam=;bm=Lm-am;%满载时的参数z=0::1;fai_fk=betakzLk./bk+zhgk;%空载时前轴的φffai_fm=betamzLm./bm+zhgm;%满载时前轴的φffai_rk=1-betakzLk./ak-zhgk;%空载时后轴的φrfai_rm=1-betamzLm./am-zhgm;%满载时后轴的φrEfk=z./fai_fk100;%空载时前轴的制动效率Efm=z./fai_fm100;Erk=z./fai_rk100;Erm=z./fai_rm100;t1=;t2=;ua0=30;fai=;g=;ak1=Erk81gfai/100;am1=Erm81gfai/100;Sk1=t1+t2/2ua0/+ua0^2/ak1;%制动距离Sm1=t1+t2/2ua0/+ua0^2/am1;disp'空载时,汽车制动距离Sk1=';dispSk1;disp'满载时,汽车制动距离Sm1=';dispSm1;ak2=faigak/Lk+faihgk; am2=faigam/Lm+faihgm; ak3=faigbk/Lk-faihgk; am3=faigbm/Lk-faihgm;Sk2=t1+t2/2ua0/+ua0^2/ak2;%制动距离 Sm2=t1+t2/2ua0/+ua0^2/am2; Sk3=t1+t2/2ua0/+ua0^2/ak3; Sm3=t1+t2/2ua0/+ua0^2/am3;disp'空载时,前制动器损坏,汽车制动距离Sk2='; dispSk2;disp'满载时,前制动器损坏,汽车制动距离Sm2='; dispSm2;disp'空载时,后制动器损坏,汽车制动距离Sk3='; dispSk3;disp'满载时,后制动器损坏,汽车制动距离Sm3='; dispSm3;空载时,汽车制动距离Sk1=满载时,汽车制动距离Sm1=空载时,前制动器损坏,汽车制动距离Sk2=满载时,前制动器损坏,汽车制动距离Sm2=空载时,后制动器损坏,汽车制动距离Sk3=满载时,后制动器损坏,汽车制动距离Sm3=二自由度轿车模型的有关参数如下:总质量 m=绕Oz 轴转动惯量 23885m kg I z ⋅= 轴距 L= 质心至前轴距离 a= 质心至后轴距离 b=前轮总侧偏刚度 k 1=-62618N/rad 后轮总侧偏刚度 k 2=-110185N/rad 转向系总传动比 i=20 试求:1) 稳定性因数K 、特征车速u ch ; 2) 稳态横摆角速度增益曲线asr u -⎪⎭⎫δω、车速u=s 时的转向灵敏度sw rδω;3) 静态储备系数.,侧向加速度为时的前、后轮侧偏角绝对值之差21αα-与转弯半径的比值R/R 0R 0=15m;4) 车速u=s 时,瞬态响应的横摆角速度波动的固有圆频率0ω、阻尼比ζ、反应时间τ与峰值反应时间ε解:Matlab 程序: m=;Iz=3885;L=;a=;b=;k1=-62618;k2=-110185; i=20;g=;R0=15;u1=; K=ma/k2-b/k1/L^2; Uch=1/K^1/2;%特征车速disp'稳定性因数s^2/m^2K='; dispK;disp'特征车速m/sUch='; dispUch; u=0::30;S=u./L1+Ku.^2;%稳态横摆角速度增益 plotu,S;title'汽车稳态横摆角速度增益曲线'; xlabel'车速um/s';ylabel'稳态横摆角速度增益'; disp'u=s 时,转向灵敏度为'; dispS448;SM=k2/k1+k2-a/L; ay=g; A=KayL; B=L/R0; R=L/B-A;C=R/R0;%转弯半径比 disp'静态储备系数.='; dispSM;disp'侧向加速度为时前、后轮侧偏角绝对值之差rad a1-a2='; dispA;disp'侧向加速度为时转弯半径比值R/R0='; dispC;W0=L/u1k1k2/mIz1+Ku1^2^1/2;%固有圆频率D=-mk1a^2+k2b^2-Izk1+k2/2LmIzk1k21+Ku1^2^1/2;%阻尼比 t=atan1-D^2^1/2/-mu1aW0/Lk2-D/W01-D^2^1/2;%反应时间 E=atan1-D^2^1/2/D/W01-D^2^1/2+t;%峰值反应时间 disp'车速u=s 时的瞬态响应参数分别为:'; disp'横摆角速度波动的固有圆频率rad 为 '; dispW0;disp'阻尼比为'; dispD;disp'反应时间s 为'; dispt;disp'峰值反应时间s 为'; dispE;稳定性因数s^2/m^2K=特征车速m/sUch=u=s 时,转向灵敏度为静态储备系数.=侧向加速度为时前、后轮侧偏角绝对值之差rad a1-a2=侧向加速度为时转弯半径比值R/R0=车速u=s 时的瞬态响应参数分别为: 横摆角速度波动的固有圆频率rad 为阻尼比为反应时间s 为峰值反应时间s 为车身-车轮双质量系统参数:10,9,25.0,5.10====μγζHz f ;“人体-座椅”系统参数:25.0,3==s s Hz f ζ;车速s m u /20=,路面不平度系数()3801056.2m n G q -⨯=,参考空间频率n 0=;计算时频率步长Hz f 2.0=∆,计算频率点数180=N ;1) 计算并画出幅频特性q z /1、12/z z 、2/z q 和均方根值谱()f G z 1 、()f G z 2 、()f G a 谱图;进一步计算aw w a zz q L a 、、、、、σσσσ21 值 2) 改变“人体-座椅”系统参数:5.0~125.0,6~5.1==s s Hz f ζ;分析aw w L a 、值随s s f ζ、的变化;3) 分别改变车身-车轮双质量系统参数:5.0~125.0,3~25.00==ζHz f ,20~5,18~5.4==μγ;绘制GFd fd z /2σσσ、、 三个响应量均方根值随以上四个系统参数变化的曲线; 解:Matlab 程序 1问yps=;%阻尼比ζ gama=9;%刚度比γ mu=10;%质量比μfs=3;ypss=;g=;a0=10^-6;f0=; ua=20;Gqn0=10^-8;n0=;detaf=;N=180; f=detaf0:N;lamta=f/f0;lamtas=f/fs;Wf=0f;deta=1-lamta.^2.1+gama-1/mulamta.^2-1.^2+4yps^2lamta.^2.gama-1/mu+1la mta.^2.^2;z1_q=gamasqrt1-lamta.^2.^2+4yps^2lamta.^2./deta;z2_z1=sqrt1+4yps^2lamta.^2./1-lamta.^2.^2+4yps^2lamta.^2; p_z2=sqrt1+2ypsslamtas.^2./1-lamtas.^2.^2+2ypsslamtas.^2; z2_q=gamasqrt1+4yps^2lamta.^2./deta; p_q=p_z2.z2_q;jfg_Gqddf=4pi^2sqrtGqn0n0^2uaf; jfg_Gzdd1f=z1_q.jfg_Gqddf; jfg_Gzdd2f=z2_q.jfg_Gqddf; jfg_Gaf=p_q.jfg_Gqddf;sigmaqdd=sqrttrapzf,jfg_Gqddf.^2;%路面不平度加速度均方根值 sigmazdd1=sqrttrapzf,jfg_Gzdd1f.^2;%车轮加速度均方根值 sigmazdd2=sqrttrapzf,jfg_Gzdd2f.^2;%车身加速度均方根值 sigmaa=sqrttrapzf,jfg_Gaf.^2;%人体加速度均方根值 for i=1:N+1 if fi<=2 Wfi=; elseif fi<=4 Wfi=fi/4; elseif fi<= Wfi=1; elseWfi=fi; end endkk=Wf.^2.jfg_Gaf.^2;aw=sqrttrapzf,kk;%加权加速度均方根值 Law=20log10aw/a0;%加权振级disp'路面不平度加速度均方根值为';dispsigmaqdd; disp'车轮加速度均方根值为';dispsigmazdd1; disp'车身加速度均方根值为';dispsigmazdd2; disp'人体加速度均方根值为';dispsigmaa;disp'加权加速度均方根值为';dispaw;disp'加权振级';dispLaw;figure1plotf,z1_q,title'幅频特性|z1/q|, f=, ζ=,γ=9,μ=10',xlabel'激振频率f/Hz',ylabel'|z1/q|';figure2plotf,z2_z1,title'幅频特性|z2/z1|,f=, ζ=,γ=9,μ=10',xlabel'激振频率f/Hz',ylabel'|z2/z1|';figure3plotf,p_z2,title'幅频特性|p/z2|,fs=, ζs=',xlabel'激振频率f/Hz',ylabel'|p/z2|';figure4plotf,jfg_Gzdd1f,title'车轮加速度均方根值√Gz1f谱图',xlabel'激振频率f/Hz',ylabel'√Gz1f';figure5plotf,jfg_Gzdd2f,title'车身加速度均方根值√Gz2f谱图',xlabel'激振频率f/Hz',ylabel'√Gz2f';figure6plotf,jfg_Gaf,title'人体加速度均方根值√Gaf谱图',xlabel'激振频率f/Hz',ylabel'√Gaf';路面不平度加速度均方根值为车轮加速度均方根值为车身加速度均方根值为人体加速度均方根值为加权加速度均方根值为加权振级2问程序1:cleargama=9;%刚度比γmu=10;%质量比μf0=;g=;a0=10^-6;ua=20;Gqn0=10^-8;n0=;detaf=;N=180;f=detaf0:N;lamta=f/f0;Wf=0f;for i=1:N+1if fi<=2Wfi=;elseif fi<=4Wfi=fi/4;elseif fi<=Wfi=1;elseWfi=fi;endendfs=3;ypss=;ypss0=::;a=0ypss0;La=0ypss0;M=lengthypss0;for i=1:Myps=ypss0i;lamtas=f/fs;deta=1-lamta.^2.1+gama-1/mulamta.^2-1.^2+4yps^2lamta.^2.gama-1/mu+1la mta.^2.^2;p_z2=sqrt1+2ypsslamtas.^2./1-lamtas.^2.^2+2ypsslamtas.^2;z2_q=gamasqrt1+4yps^2lamta.^2./deta;p_q=p_z2.z2_q;jfg_Gqddf=4pi^2sqrtGqn0n0^2uaf;jfg_Gaf=p_q.jfg_Gqddf;kk=Wf.^2.jfg_Gaf.^2;awi=sqrttrapzf,kk;endLaw=20log10aw/a0;figure1plotypss0,aw;title'aw随ζs的变化',xlabel'“人体—座椅”系统的阻尼比ζs',ylabel'aw/ms^-2';figure2plotypss0,Law;title'Law随ζs的变化',xlabel'“人体—座椅”系统的阻尼比ζs',ylabel'Law/dB';程序2:clearyps=;%阻尼比ζgama=9;%刚度比γmu=10;%质量比μf0=;g=;a0=10^-6;ua=20;Gqn0=10^-8;n0=;detaf=;N=180;f=detaf0:N;lamta=f/f0;Wf=0f;for i=1:N+1if fi<=2Wfi=;elseif fi<=4Wfi=fi/4;elseif fi<=Wfi=1;elseWfi=fi;endendypss=;fs=::6;M=lengthfs;for i=1:Mfs0=fsi;lamtas=f/fs0;deta=1-lamta.^2.1+gama-1/mulamta.^2-1.^2+4yps^2lamta.^2.gama-1/mu+1la mta.^2.^2;p_z2=sqrt1+2ypsslamtas.^2./1-lamtas.^2.^2+2ypsslamtas.^2;z2_q=gamasqrt1+4yps^2lamta.^2./deta;p_q=p_z2.z2_q;jfg_Gqddf=4pi^2sqrtGqn0n0^2uaf;jfg_Gaf=p_q.jfg_Gqddf;kk=Wf.^2.jfg_Gaf.^2;awi=sqrttrapzf,kk;endLaw=20log10aw/a0;figure3plotfs,aw;title'aw随fs的变化',xlabel'“人体—座椅”系统的固有频率fs',ylabel'aw/ms^-2';figure4plotfs,Law;title'Law随fs的变化',xlabel'“人体—座椅”系统的固有频率fs',ylabel'Law/dB';3问程序1:clearfigure1fs=3;yps_s=;g=;ua=20;Gqn0=10^-8;n0=;detaf=;N=180;f0=;yps=;gama=9;mu=10;ff0=::3;sigmaz2=0ff0;sigmafd=0ff0;sigmaFd_G=0ff0;M=lengthff0;for i=1:Mf0=ff0i;f=detaf0:N;lamta=f/f0;lamtas=f/fs;deta=1-lamta.^2.1+gama-1/mulamta.^2-1.^2+4yps^2lamta.^2.gama-1/mu+1la mta.^2.^2;z2_qdot=2pifgama.sqrt1+4yps^2lamta.^2./deta;fd_qdot=gamalamta.^2./2pif+eps./sqrtdeta;Fd_Gqdot=2pifgama/g.sqrtlamta.^2/mu+1-1.^2+4yps^2lamta.^2./deta;Gq_dotf=4pi^2Gqn0n0^2ua;Gz2f=z2_qdot.^2Gq_dotf;Gfd_qf=fd_qdot.^2Gq_dotf;GFd_Gf=Fd_Gqdot.^2Gq_dotf;sigmaz2i=sqrttrapzf,Gz2f;sigmafdi=sqrttrapzf,Gfd_qf;sigmaFd_Gi=sqrttrapzf,GFd_Gf;if f0==sgmz2=sigmaz2i;sgmfd=sigmafdi;sgmFd_G=sigmaFd_Gi;endendsz2=20log10sigmaz2/sgmz2;sfd=20log10sigmafd/sgmfd;sFd_G=20log10sigmaFd_G/sgmFd_G;plotff0,sz2,'r-',ff0,sfd,'b-.',ff0,sFd_G,'k--';axis 3 -25 15;title'三个响应量均方根值随f0变化的曲线',xlabel'车身部分固有频率f0/Hz',ylabel'σz2/dB,σfd/dB,σFd/G/dB';程序2:clearfigure2fs=3;yps_s=;g=;ua=20;Gqn0=10^-8;n0=;detaf=;N=180;f0=;yps=;gama=9;mu=10;c= i=1:Myps=yps0i;f=detaf0:N;lamta=f/f0;lamtas=f/fs;deta=1-lamta.^2.1+gama-1/mulamta.^2-1.^2+4yps^2lamta.^2.gama-1/mu+1la mta.^2.^2;z2_qdot=2pifgama.sqrt1+4yps^2lamta.^2./deta;fd_qdot=gamalamta.^2./2pif+eps./sqrtdeta;Fd_Gqdot=2pifgama/g.sqrtlamta.^2/mu+1-1.^2+4yps^2lamta.^2./deta;Gq_dotf=4pi^2Gqn0n0^2ua;Gz2f=z2_qdot.^2Gq_dotf;Gfd_qf=fd_qdot.^2Gq_dotf;GFd_Gf=Fd_Gqdot.^2Gq_dotf;sigmaz2i=sqrttrapzf,Gz2f;sigmafdi=sqrttrapzf,Gfd_qf;sigmaFd_Gi=sqrttrapzf,GFd_Gf;if yps==sgmz2=sigmaz2i;sgmfd=sigmafdi;sgmFd_G=sigmaFd_Gi;endendsz2=20log10sigmaz2/sgmz2;sfd=20log10sigmafd/sgmfd;sFd_G=20log10sigmaFd_G/sgmFd_G;plotyps0,sz2,'r-',yps0,sfd,'b-.',yps0,sFd_G,'k--';axis -4 4;title'三个响应量均方根值随ζ变化的曲线',xlabel'车身部分阻尼比ζ',ylabel'σz2/dB,σfd/dB,σFd/G/dB';程序3:clearfigure3fs=3;yps_s=;g=;ua=20;Gqn0=10^-8;n0=;detaf=;N=180;f0=;yps=;mu=10;gama0=4::19;sigmaz2=0gama0;sigmafd=0gama0;sigmaFd_G=0gama0;M=lengthgama0;for i=1:Mgama=gama0i;f=detaf0:N;lamta=f/f0;lamtas=f/fs;deta=1-lamta.^2.1+gama-1/mulamta.^2-1.^2+4yps^2lamta.^2.gama-1/mu+1la mta.^2.^2;z2_qdot=2pifgama.sqrt1+4yps^2lamta.^2./deta;fd_qdot=gamalamta.^2./2pif+eps./sqrtdeta;Fd_Gqdot=2pifgama/g.sqrtlamta.^2/mu+1-1.^2+4yps^2lamta.^2./deta;Gq_dotf=4pi^2Gqn0n0^2ua;Gz2f=z2_qdot.^2Gq_dotf;Gfd_qf=fd_qdot.^2Gq_dotf;GFd_Gf=Fd_Gqdot.^2Gq_dotf;sigmaz2i=sqrttrapzf,Gz2f;sigmafdi=sqrttrapzf,Gfd_qf;sigmaFd_Gi=sqrttrapzf,GFd_Gf;if gama==9sgmz2=sigmaz2i;sgmfd=sigmafdi;sgmFd_G=sigmaFd_Gi;endendsz2=20log10sigmaz2/sgmz2;sfd=20log10sigmafd/sgmfd;sFd_G=20log10sigmaFd_G/sgmFd_G;plotgama0,sz2,'r-',gama0,sfd,'b-.',gama0,sFd_G,'k--';axis4 18 -5 6;title'三个响应量均方根值随γ变化的曲线',xlabel'悬架与轮胎的刚度比γ',ylabel'σz2/dB,σfd/dB,σFd/G/dB';程序4:clearfigure4fs=3;yps_s=;g=;ua=20;Gqn0=10^-8;n0=;detaf=;N=180;f0=;yps=;gama=9;mu0=5::20;sigmaz2=0mu0;sigmafd=0mu0;sigmaFd_G=0mu0;M=lengthmu0;for i=1:Mmu=mu0i;f=detaf0:N;lamta=f/f0;lamtas=f/fs;deta=1-lamta.^2.1+gama-1/mulamta.^2-1.^2+4yps^2lamta.^2.gama-1/mu+1la mta.^2.^2;z2_qdot=2pifgama.sqrt1+4yps^2lamta.^2./deta;fd_qdot=gamalamta.^2./2pif+eps./sqrtdeta;Fd_Gqdot=2pifgama/g.sqrtlamta.^2/mu+1-1.^2+4yps^2lamta.^2./deta;Gq_dotf=4pi^2Gqn0n0^2ua;Gz2f=z2_qdot.^2Gq_dotf;Gfd_qf=fd_qdot.^2Gq_dotf;GFd_Gf=Fd_Gqdot.^2Gq_dotf;sigmaz2i=sqrttrapzf,Gz2f;sigmafdi=sqrttrapzf,Gfd_qf;sigmaFd_Gi=sqrttrapzf,GFd_Gf;if mu==10sgmz2=sigmaz2i;sgmfd=sigmafdi;sgmFd_G=sigmaFd_Gi;endendsz2=20log10sigmaz2/sgmz2;sfd=20log10sigmafd/sgmfd;sFd_G=20log10sigmaFd_G/sgmFd_G;plotmu0,sz2,'r-',mu0,sfd,'b-.',mu0,sFd_G,'k--';axis5 20 -2 2;title'三个响应量均方根值随μ变化的曲线',xlabel'车身与车轮部分质量比μ',ylabel'σz2/dB,σfd/dB,σFd/G/dB';。

MATLAB编程练习(含答案很好的)

MATLAB编程练习(含答案很好的)

001双峰曲线图:z=peaks(40);mesh(z);surf(z)002解方程:A=[3,4,-2;6,2,-3;45,5,4];>> B=[14;4;23];>> root=inv(A)*B003傅里叶变换load mtlb ;subplot(2,1,1);plot(mtlb);>> title('原始语音信息');>> y=fft(mtlb);>> subplot(2,1,2);>> yy=abs(y);>> plot(yy);>> title('傅里叶变换')004输入函数:a=input('How many apples\n','s')005输出函数a=[1 2 3 4 ;5 6 7 8;12 23 34 45;34 435 23 34]a =1 2 3 45 6 7 812 23 34 4534 435 23 34disp(a)a =1 2 3 45 6 7 812 23 34 4534 435 23 34b=input('how many people\n' ,'s')how many peopletwo peopleb =two people>> disp(b)two people>>006求一元二次方程的根a=1;b=2;c=3;d=sqrt(b^2-4*a*c);x1=(-b+d)/(2*a)x1 =-1.0000 + 1.4142i>> x2=(-b-d)/(2*a)x2 =-1.0000 - 1.4142i007求矩阵的相乘、转置、存盘、读入数据A=[1 3 5 ;2 4 6;-1 0 -2;-3 0 0];>> B=[-1 3;-2 2;2 1];>> C=A*BC =3 142 20-3 -53 -9>> C=C'C =3 2 -3 314 20 -5 -9>> save mydat C>> clear>> load mydat C008编写数学计算公式:A=2.1;B=-4.5;C=6;D=3.5;E=-5;K=atan(((2*pi*A)+E/(2*pi*B*C))/D) K =1.3121009A=[1 0 -1;2 4 1;-2 0 5];>> B=[0 -1 0;2 1 3;1 1 2];>> H=2*A+BH =2 -1 -26 9 5-3 1 12>> M=A^2-3*BM =3 3 -62 13 -2-15 -3 21>> Y=A*BY =-1 -2 -29 3 145 7 10>> R=B*AR =-2 -4 -1-2 4 14-1 4 10>> E=A.*BE =0 0 04 4 3-2 0 10>> W=A\BW =0.3333 -1.3333 0.66670.2500 1.0000 0.25000.3333 -0.3333 0.6667 >> P=A/BP =-2.0000 3.0000 -5.0000-5.0000 3.0000 -4.00007.0000 -9.0000 16.0000>> Z=A.\BWarning: Divide by zero.Z =0 -Inf 01.0000 0.2500 3.0000-0.5000 Inf 0.4000>> D=A./BWarning: Divide by zero.D =Inf 0 -Inf1.0000 4.0000 0.3333-2.0000 0 2.5000010a=4.96;b=8.11;>> M=exp(a+b)/log10(a+b)M =4.2507e+005011求三角形面积:a=9.6;b=13.7;c=19.4;>> s=(a+b+c)/2;>> area=sqrt(s*(s-a)*(s-b)*(s-c))area =61.1739012逻辑运算A=[-1 0 -6 8;-9 4 0 12.3;0 0 -5.1 -2;0 -23 0 -7]; >> B=A(:,1:2)B =-1 0-9 40 00 -23>> C=A(1:2,:)C =-1.0000 0 -6.0000 8.0000 -9.0000 4.0000 0 12.3000>> D=B'D =-1 -9 0 00 4 0 -23>> A*Bans =1.0000 -184.0000-27.0000 -266.90000 46.0000 207.0000 69.0000>> C<Dans =0 0 1 01 0 0 0>> C&Dans =1 0 0 00 1 0 1>> C|Dans =1 1 1 11 1 0 1>> ~C|~Dans =0 1 1 11 0 1 0013矩阵运算练习:A=[8 9 5;36 -7 11;21 -8 5]A =8 9 536 -7 1121 -8 5>> BB =-1 3 -22 0 3-3 1 9>> RT=A*BRT =-5 29 56-83 119 6-52 68 -21>> QW=A.*BQW =-8 27 -1072 0 33-63 -8 45>> ER=A^3ER =6272 3342 294415714 -856 52608142 -1906 2390 >> BF=A.^3BF =512 729 12546656 -343 13319261 -512 125 >> A/Bans =3.13414.9634 -0.4024-1.2561 12.5244 -3.2317-1.9878 6.4512 -2.0366>> EKV=B\AEKV =10.7195 -1.2683 3.52449.4756 1.5854 3.71954.8537 -1.4878 1.3171>> KDK=[A,B]KDK =8 9 5 -1 3 -236 -7 11 2 0 321 -8 5 -3 1 9 >> ERI=[A;B]ERI =8 9 536 -7 1121 -8 5-1 3 -22 0 3-3 1 9014一般函数的调用:A=[2 34 88 390 848 939];>> S=sum(A)S =2301>> min(A)ans =2>> EE=mean(A)EE =383.5000>> QQ=std(A)QQ =419.3794>> AO=sort(A)AO =2 34 88 390 848 939 >> yr=norm(A)yr =1.3273e+003>> RT=prod(A)RT =1.8583e+012>> gradient(A)ans =32.0000 43.0000 178.0000 380.0000 274.5000 91.0000 >> max(A)ans =939>> median(A)ans =239>> diff(A)ans =32 54 302 458 91>> length(A)ans =6>> sum(A)ans =2301>> cov(A)ans =1.7588e+005>>015矩阵变换:A=[34 44 23;8 34 23;34 55 2]A =34 44 238 34 2334 55 2>> tril(A)ans =34 0 08 34 034 55 2>> triu(A)ans =34 44 230 34 230 0 2>> diag(A)ans =34342norm(A)ans =94.5106>> rank(A)ans =3>> det(A)ans =-23462>> trace(A)ans =70>> null(A)ans =Empty matrix: 3-by-0>> eig(A)ans =80.158712.7671-22.9257>> poly(A)ans =1.0e+004 *0.0001 -0.0070 -0.1107 2.3462>> logm(A)Warning: Principal matrix logarithm is not defined for A with nonpositive real eigenvalues. A non-principal matrixlogarithm is returned.> In funm at 153In logm at 27ans =3.1909 + 0.1314i 1.2707 + 0.1437i 0.5011 - 0.2538i0.4648 + 0.4974i 3.3955 + 0.5438i 0.1504 - 0.9608i0.2935 - 1.2769i 0.8069 - 1.3960i 3.4768 + 2.4663i>> fumn(A)Undefined command/function 'fumn'.>> inv(A)ans =0.0510 -0.0502 -0.0098-0.0326 0.0304 0.02550.0305 0.0159 -0.0343>> cond(A)ans =8.5072>> chol(A)Error using ==> cholMatrix must be positive definite.>> lu(A)ans =34.0000 44.0000 23.00000.2353 23.6471 17.58821.0000 0.4652 -29.1816>> pinv(A)ans =0.0510 -0.0502 -0.0098-0.0326 0.0304 0.02550.0305 0.0159 -0.0343>> svd(A)ans =94.510622.345611.1095>> expm(A)ans =1.0e+034 *2.1897 4.3968 1.93821.31542.6412 1.16431.8782 3.7712 1.6625>> sqrtm(A)ans =5.2379 + 0.2003i 3.4795 + 0.2190i 1.8946 - 0.3869i0.5241 + 0.7581i 5.1429 + 0.8288i 2.0575 - 1.4644i3.0084 - 1.9461i4.7123 - 2.1276i 2.1454 + 3.7589i >>016多项式的计算:A=[34 44 23;8 34 23;34 55 2]A =34 44 238 34 2334 55 2>> P=poly(A)P =1.0e+004 *0.0001 -0.0070 -0.1107 2.3462>> PPA=poly2str(P,'X')PPA =X^3 - 70 X^2 - 1107 X + 23462017多项式的运算:p=[2 6 8 3];w=[32 56 0 2];>> m=conv(p,w)m =64 304 592 548 180 16 6 >> [q,r]=deconv(w,p)q =16r =0 -40 -128 -46>> dp=polyder(w)dp =96 112 0>> [num,den]=polyder(w,p)num =80 512 724 312 -16den =4 24 68 108 100 48 9>> b=polyfit(p,w,4)Warning: Polynomial is not unique; degree >= number of data points. > In polyfit at 74b =-0.6704 9.2037 -32.2593 0 98.1333>> r=roots(p)r =-1.2119 + 1.0652i-1.2119 - 1.0652i-0.5761018求多项式的商和余p=conv([1 0 2],conv([1 4],[1 1]))p =1 5 6 10 8>> q=[1 0 1 1]q =1 0 1 1>> [w,m]=deconv(p,q)w =1 5m =0 0 5 4 3>> cq=w;cr=m;>> disp([cr,poly2str(m,'x')])5 x^2 + 4 x + 3>> disp([cq,poly2str(w,'x')])x + 5019将分式分解a=[1 5 6];b=[1];>> [r,p,k]=residue(b,a)r =-1.00001.0000p =-3.0000-2.0000k =[]020计算多项式:a=[1 2 3;4 5 6;7 8 9];>> p=[3 0 2 3];>> q=[2 3];>> x=2;>> r=roots(p)r =0.3911 + 1.0609i0.3911 - 1.0609i-0.7822>> p1=conv(p,q)p1 =6 9 4 12 9>> p2=poly(a)p2 =1.0000 -15.0000 -18.0000 -0.0000 >> p3=polyder(p)p3 =9 0 2>> p4=polyval(p,x)p4 =31021求除式和余项:[q,r]=deconv(conv([1 0 2],[1 4]),[1 1 1])022字符串的书写格式:s='student's =student>> name='mary';>> s1=[name s]s1 =marystudent>> s3=[name blanks(3);s]s3 =marystudent>>023交换两个数:clearclca=[1 2 3 4 5];b=[6 7 8 9 10];c=a;a=b;b=c;ab24If语句n=input('enter a number,n=');if n<10nend025 if 双分支结构a=input('enter a number ,a=');b=input('enter a number ,b=');if a>bmax=a;elsemax=b;endmax026三个数按照由大到小的顺序排列:A=15;B=24;C=45;if A<BT=A;A=B;B=T;elseif A<CT=A;A=C;C=T;elseif B<CT=B;B=C;C=T;endABC027建立一个收费优惠系统:price=input('please jinput the price : price=') switch fix(price/100)case[0,1]rate =0;case[2,3,4]rate =3/100;case num2cell(5:9)rate=5/100;case num2cell(10:24)rate=8/100;case num2cell(25:49)rate=10/100;otherwiserate=14/100;endprice=price*(1-rate)028:while循环语句i=0;s=0;while i<=1212s=s+i;i=i+1;ends029,用for循环体语句:sum=0;for i=1:1.5:100;sum=sum+i;endsum030循环的嵌套s=0;for i=1:1:6;for j=1:1:8;s=s+i^j;end;end;s031continue 语句的使用:for i=100:120;if rem(i,7)~=0;continue;end;iend032x=input ('输入X的值x=')if x<1y=x^2;elseif x>1&x<2y=x^2-1;elsey=x^2-2*x+1;endy033求阶乘的累加和sum=0;temp=1;for n=1:10;temp=temp*n;sum=sum+temp;endsum034对角线元素之和sum=0;a=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]; for i=1:4;sum=sum+a(i,i);endsum035用拟合点绘图A=[12 15.3 16 18 25];B=[50 80 118 125 150.8];plot(A,B)036绘制正玄曲线:x=0:0.05:4*pi;y=sin(x);plot(x,y)037绘制向量x=[1 2 3 4 5 6;7 8 9 10 11 12;13 14 15 16 17 18] plot(x)x=[0 0.2 0.5 0.7 0.6 0.7 1.2 1.5 1.6 1.9 2.3]plot(x)x=0:0.2:2*piy=sin(x)plot(x,y,'m:p')038在正弦函数上加标注:t=0:0.05:2*pi;plot(t,sin(t))set(gca,'xtick',[0 1.4 3.14 56.28])xlabel('t(deg)')ylabel('magnitude(v)')title('this is a example ()\rightarrow 2\pi')text(3.14,sin(3.14),'\leftarrow this zero for\pi')039添加线条标注x=0:0.2:12;plot(x,sin(x),'-',x,1.5*cos(x),':');legend('First','Second',1)040使用hold on 函数x=0:0.2:12;plot(x,sin(x),'-');hold onplot(x,1.5*cos(x),':');041一界面多幅图x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(221);plot(x,y1);title('sin(x)')subplot(222);plot(x,y2);title('cos(x)')subplot(223);plot(x,y3);title('sin(2x)')subplot(224);plot(x,y4);title('cos(2x)')042染色效果图x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(221);plot(x,y1);title('sin(x)');fill(x,y1,'r') subplot(222);plot(x,y2);title('cos(x)');fill(x,y2,'b') subplot(223);plot(x,y3);title('sin(2x)');fill(x,y3,'k') subplot(224);plot(x,y4);title('cos(2x)');fill(x,y4,'g')043特殊坐标图clcy=[0,0.55,2.5,6.1,8.5,12.1,14.6,17,20,22,22.1] subplot(221);plot(y);title('线性坐标图');subplot(222);semilogx(y);title('x轴对数坐标图');subplot(223);semilogx(y);title('y轴对数坐标图');subplot(224);loglog(y);title('双对数坐标图')t=0:0.01:2*pi;r=2*cos(2*(t-pi/8));polar(t,r)044特殊函数绘图:fplot('cos(tan(pi*x))',[-0.4,1.4])fplot('sin(exp(pi*x))',[-0.4,1.4])045饼形图与条形图:x=[8 20 36 24 12];subplot(221);pie(x,[1 0 0 0 1]);title('饼图');subplot(222);bar(x,'group');title('垂直条形图');subplot(223);bar(x,'stack');title('累加值为纵坐标的垂直条形图'); subplot(224);barh(x,'group');title('水平条形图');046梯形图与正弦函数x=0:0.1:10;y=sin(x);subplot(121);stairs(x);subplot(122);stairs(x,y);047概率图x=randn(1,1000);y=-2:0.1:2;hist(x,y)048向量图:x=[-2+3j,3+4j,1-7j];subplot(121);compass(x);rea=[-2 3 1];imag=[3 4 -7];subplot(122);feather(rea,imag);049绘制三维曲线图:z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)x=-10:0.5:10;y=-8:0.5:8;[x,y]=meshgrid(x,y);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2); subplot(221);mesh(x,y,z);title('普通一维网格曲面');subplot(222);meshc(x,y,z);title('带等高线的三维网格曲面'); subplot(223);meshz(x,y,z);title('带底座的三维网格曲面'); subplot(224);surf(x,y,z);title('充填颜色的三维网格面')050 带网格二维图x=0:pi/10:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'r+-',x,y2,'k*:')grid onxlabel('Independent Variable x') ylabel('Dependent Variable y1&y2') text(1.5,0.5,'cos(x)')051各种统计图y=[18 5 28 17;24 12 36 14;15 6 30 9]; subplot(221);bar(y)x=[4,6,8];subplot(222);bar3(x,y)subplot(223);bar(x,y,'grouped') subplot(224);bar(x,y,'stack')052曲面图x=-2:0.4:2;y=-1:0.2:1;[x,y]=meshgrid(x,y);z=sqrt(4-x.^2/9-y.^2/4); surf(x,y,z)grid on053创建符号矩阵e=[1 3 5;2 4 6;7 9 11];m=sym(e)符号表达式的计算问题因式分解:syms xf=factor(x^3-1)s=sym('sin(a+b)'); expand(s)syms x tf=x*(x*(x-8)+6)*t; collect(f)syms xf=sin(x)^2+cos(x)^2; simplify(f)syms xs=(4*x^2+8*x+3)/(2*x+1); simplify(s)通分syms x yf=x/y-y/x;[m,n]=numden(f)嵌套重写syms xf=x^4+3*x^3-7*x^2+12; horner(f)054求极限syms x a;limit(exp(-x),x,0,'left')求导数syms xdiff(x^9+x^6)diff(x^9+x^6,4)055求不定积分与定积分syms x ys=(4-3*x^2)^2;int(s)int(x/(x+y),x)int(x^2/(x+2),x,1,3) double(ans)056函数的变换:syms x ty=exp(-x^2);Ft=fourier(y,x,t)fx=ifourier(Ft,t,x)057求解方程syms a b c xs=a*x^2+b*x+c;solve(s)syms x y zs1=2*x^2+y^2-3*z-4;s2=y+z-3;s3=x-2*y-3*z;[x,y,z]=solve(s1,s2,s3)058求微分方程:y=dsolve('Dy-(t^2+y^2)/t^2/2','t')059求级数和syms x ksymsum(k)symsum(k^2-3,0,10)symsum(x^k/k,k,1,inf)060泰勒展开式syms xs=(1-x+x^2)/(1+x+x^2);taylor(s)taylor(s,9)taylor(s,x,12)taylor(s,x,12,5)061练习syms x a;s1=sin(2*x)/sin(5*x);limit(s1,x,0)s2=(1+1/x)^(2*x);limit(s2,x,inf)syms xs=x*cos(x);diff(s)diff(s,2)diff(s,12)syms xs1=x^4/(1+x^2);int(s1)s2=3*x^2-x+1int(s2,0,2)syms x y zs1=5*x+6*y+7*z-16;s2=4*x-5*y+z-7;s3=x+y+2*z-2;[x,y,z]=solve(s1,s2,s3)syms x yy=dsolve('Dy=exp(2*x-y)','x')y=dsolve('Dy=exp(2*x-y)','y(0)=0','x')n=sym('n');s=symsum(1/n^2,n,1,inf)x=sym('x');f=sqrt(1-2*x+x^3)-(1-3*x+x^2)^(1/3);taylor(f,6)062求于矩阵相关的值a=[2 2 -1 1;4 3 -1 2;8 5 -3 4;3 3 -2 2]adet=det(a)atrace=trace(a)anorm=norm(a)acond=cond(a)arank=rank(a)eiga=eig(a)063矩阵计算A=[0.1389 0.6038 0.0153 0.9318;0.2028 0.2772 0.7468 0.4660;0.1987 0.1988 0.4451 0.4186]B=var(A)C=std(A)D=range(A)E=cov(A)F=corrcoef(A)064求根及求代数式的值P=[4 -3 2 5];x=roots(P)x=[3 3.6];F=polyval(P,x)065多项式的和差积商运算:f=[1 2 -4 3 -1]g=[1 0 1]g1=[0 0 1 0 1]f+g1f-g1conv(f,g)[q,r]=deconv(f,g)polyder(f)066各种插值运算:X=0:0.1:pi/2;Y=sin(X);interp1(X,Y,pi/4)interp1(X,Y,pi/4,'nearest')interp1(X,Y,pi/4,'spline')interp1(X,Y,pi/4,'cubic')067曲线的拟合:X=0:0.1:2*pi;Y=cos(X);[p,s]=polyfit(X,Y,4)plot(X,Y,'K*',X,polyval(p,X),'r-')068求函数的最值与0点x=2:0.1:2;[x,y]=fminbnd('x.^3-2*x+1',-1,1) [x,y]=fzero('x.^3-2*x+1',1)069求多项式的表达式、值、及图像y=[1 3 5 7 19]t=poly(y)x=-4:0.5:8yx=polyval(t,x)plot(x,yx)070数据的拟合与绘图x=0:0.1:2*pi;y=sin(x);p=polyfit(x,y,5);y1=polyval(p,x)plot(x,y,'b',x,y1,'r')071求代数式的极限:syms xf=sym('log(1+2*x)/sin(3*x)');b=limit(f,x,0)072求导数与微分syms xf=sym('x/(cos(x))^2');y1=diff(f)y2=int(f,0,1)078划分网格函数[x,y]=meshgrid(-2:0.01:2,-3:0.01:5); t=x.*exp(-x.^2-y.^2);[px,py]=gradient(t,0.05,0.1);td=sqrt(px.^2+py.^2);subplot(221)imagesc(t)subplot(222)imagesc(td)colormap('gray')079求多次多项方程组的解:syms x1 x2 a ;eq1=sym('x1^2+x2=a')eq2=sym('x1-a*x2=0')[x1 x2]=solve(eq1,eq2,x1,x2)v=solve(eq1,eq2)v.x1v.x2an1=x1(1),an2=x1(2)an3=x2(1),an4=x2(2)080求解微分方程:[y]=dsolve('Dy=-y^2+6*y','y(0)=1','x')s=dsolve('Dy=-y^2+6*y','y(0)=1','x')[u]=dsolve('Du=-u^2+6*u','u(0)=1')w=dsolve('Du=-u^2+6*u','z')[u,w]=dsolve('Du=-w^2+6*w,Dw=sin(z)','u(0)=1,w(0)=0','z') v=dsolve('Du=-w^2+6*w,Dw=sin(z)','u(0)=1,w(0)=0','z')081各种显现隐含函数绘图:f=sym('x^2+1')subplot(221)ezplot(f,[-2,2])subplot(222)ezplot('y^2-x^6-1',[-2,2],[0,10])x=sym('cos(t)')y=sym('sin(t)')subplot(223)ezplot(x,y)z=sym('t^2')subplot(224)ezplot3(x,y,z,[0,8*pi])082极坐标图:r=sym('4*sin(3*x)')ezpolar(r,[0,6*pi])083多函数在一个坐标系内:x=0:0.1:8;y1=sin(x);subplot(221)plot(x,y1)subplot(222)plot(x,y1,x,y2)w=[2 3;3 1;4 6]subplot(223)plot(w)q=[4 6:3 5:1 2]subplot(224)plot(w,q)084调整刻度图像:x=0:0.1:10;y1=sin(x);y2=exp(x);y3=exp(x).*sin(x);subplot(221)plot(x,y2)subplot(222)loglog(x,y2)subplot(223)plotyy(x,y1,x,y2)085等高线等图形,三维图:t=0:pi/50:10*pi;subplot(2,3,1)plot3(t.*sin(t),t.*cos(t),t.^2) grid on[x,y]=meshgrid([-2:0.1:2])z=x.*exp(-x.^2-y.^2)subplot(2,3,2)plot3(x,y,z)box offsubplot(2,3,3)meshz(x,y,z)subplot(2,3,4)surf(x,y,z)contour(x,y,z)subplot(2,3,6)surf(x,y,z)subplot(2,3,5)contour(x,y,z)box offsubplot(2,3,6)contour3(x,y,z)axis off086统计图Y=[5 2 1;8 7 3;9 8 6;5 5 5;4 3 2]subplot(221)bar(Y)box offsubplot(222)bar3(Y)subplot(223)barh(Y)subplot(224)bar3h(Y)087面积图Y=[5 1 2;8 3 7;9 6 8;5 5 5;4 2 3];subplot(221)area(Y)grid onset(gca,'Layer','top','XTick',1:5)sales=[51.6 82.4 90.8 59.1 47.0];x=90:94;profits=[19.3 34.2 61.4 50.5 29.4];subplot(222)area(x,sales,'facecolor',[0.5 0.9 0.6], 'edgecolor','b','linewidth',2) hold onarea(x,profits,'facecolor',[0.9 0.85 0.7], 'edgecolor','y','linewidth',2) hold offset(gca,'Xtick',[90:94])set(gca,'layer','top')gtext('\leftarrow 销售量') gtext('利润')gtext('费用')xlabel('年','fontsize',14)088函数的插值:x=0:2*pi;y=sin(x);xi=0:0.1:8;yi1=interp1(x,y,xi,'linear')yi2=interp1(x,y,xi,'nearest') yi3=interp1(x,y,xi,'spline')yi4=interp1(x,y,xi,'cublic')p=polyfit(x,y,3)yy=polyval(p,xi)subplot(3,2,1)plot(x,y,'o')subplot(3,2,2)plot(x,y,'o',xi,yy)subplot(3,2,3)plot(x,y,'o',xi,yi1)subplot(3,2,4)plot(x,y,'o',xi,yi2)subplot(3,2,5)plot(x,y,'o',xi,yi3)subplot(3,2,6)plot(x,y,'o',xi,yi4)089二维插值计算:[x,y]=meshgrid(-3:0.5:3);z=peaks(x,y);[xi,yi]=meshgrid(-3:0.1:3); zi=interp2(x,y,z,xi,yi,'spline') plot3(x,y,z)hold onmesh(xi,yi,zi+15)hold offaxis tight090函数表达式;function f=exlin(x)if x<0f=-1;elseif x<1f=x;elseif x<2f=2-x;elsef=0;end091:硬循环语句:n=5;for i=1:nfor j=1:nif i==ja(i,j)=2;elsea(i,j)=0;endendendwhile 循环语句:n=1;while prod(1:n)<99^99;n=n+1endn:092 switch开关语句a=input('a=?')switch acase 1disp('It is raning') case 0disp('It do not know')case -1disp('It is not ranging')otherwisedisp('It is raning ?')end093画曲面函数:x1=linspace(-3,3,30)y1=linspace(-3,13,34)[x,y]=meshgrid(x1,y1);z=x.^4+3*x.^2-2*x+6-2*y.*x.^2+y.^2-2*y; surf(x,y,z)。

matlab数学建模程序代码

matlab数学建模程序代码

matlab数学建模程序代码【实用版】目录1.MATLAB 数学建模概述2.MATLAB 数学建模程序代码的基本结构3.常用的 MATLAB 数学建模函数和命令4.MATLAB 数学建模程序代码的编写流程5.MATLAB 数学建模程序代码的示例正文一、MATLAB 数学建模概述MATLAB(Matrix Laboratory)是一款强大的数学软件,广泛应用于数学建模、数据分析、可视化等领域。

通过 MATLAB,用户可以方便地进行数学计算、编写程序以及绘制图表等。

在数学建模领域,MATLAB 为研究人员和工程师提供了丰富的工具箱和函数,使得数学模型的构建、求解和分析变得更加简单高效。

二、MATLAB 数学建模程序代码的基本结构MATLAB 数学建模程序代码通常分为以下几个部分:1.导入 MATLAB 库:在建模过程中,可能需要使用 MATLAB 提供的某些库或工具箱,需要在代码开头进行导入。

2.定义变量和参数:在建模过程中,需要定义一些变量和参数,用于表示模型中的各个要素。

3.建立数学模型:根据实际问题,编写相应的数学表达式或方程,构建数学模型。

4.求解模型:通过调用 MATLAB 内置函数或使用自定义函数,对数学模型进行求解。

5.分析结果:对求解结果进行分析,提取所需的信息,例如计算均值、方差等统计量。

6.可视化结果:使用 MATLAB 绘制图表,将结果以直观的形式展示出来。

三、常用的 MATLAB 数学建模函数和命令MATLAB 提供了丰富的数学建模函数和命令,例如:1.线性规划:使用`linprog`函数求解线性规划问题。

2.非线性规划:使用`fmincon`或`fsolve`函数求解非线性规划问题。

3.优化问题:使用`optimize`函数求解优化问题。

4.数据处理:使用`mean`、`std`等函数对数据进行统计分析。

5.图表绘制:使用`plot`、`scatter`等函数绘制各种图表。

工程构件受力和刚度计算的MATLAB分析法

工程构件受力和刚度计算的MATLAB分析法

工程构件受力和刚度计算的MATLAB分析法工程构件受力和刚度计算是结构设计和分析中非常重要的一部分,它涉及到对构件受力和刚度进行计算的理论基础和方法。

而MATLAB作为一种广泛应用于科学计算和工程领域的软件工具,其强大的数学和算法功能使得其成为进行工程构件受力和刚度计算的理想选择。

在进行工程构件的受力和刚度计算时,首先需要建立合适的受力与形变模型。

其次,需要根据受到的外力和形变条件,建立构件的力平衡方程和形变方程。

最后,利用MATLAB的数值计算功能,对这些方程进行求解,以获得构件的受力和刚度。

在进行受力计算时,常用的方法包括静力方法、动力方法和有限元方法等。

其中,静力方法基于构件的受力平衡条件,通过求解受力方程组得到构件的受力分布。

动力方法则基于构件的振动特性,利用动力学方程求解得到构件的受力状态。

而有限元方法则是将结构离散为有限数量的单元,通过求解单元的刚度矩阵和载荷矩阵得到整个结构的受力情况。

在进行刚度计算时,常用的方法包括弹性刚度法和刚度矩阵法等。

其中,弹性刚度法是基于构件材料的弹性行为,通过求解弹性力学方程得到构件的刚度。

刚度矩阵法则是将结构离散为有限数量的节点,通过求解节点的刚度矩阵和载荷矩阵得到整个结构的刚度。

利用MATLAB进行工程构件受力和刚度计算时,用户可以编写自定义的函数和脚本来实现对受力和刚度方程的求解。

MATLAB提供了丰富的数学函数和工具箱,包括线性方程组的求解、特征值和特征向量的计算、矩阵运算等功能,这些功能可以大大简化受力和刚度计算的过程。

用户可以使用MATLAB的函数库来进行构件的受力和刚度计算,也可以根据实际需要进行函数的编写和修改。

总之,MATLAB分析法在工程构件受力和刚度计算中具有广泛的应用前景。

它通过提供强大的数学和算法功能,简化了受力和刚度计算的过程,并且可以根据实际需要进行函数的编写和修改。

工程师和科研人员可以利用MATLAB进行受力和刚度计算,以实现对工程构件的准确设计和分析。

实验项目1 MATLAB熟悉使用及编程基础2

实验项目1  MATLAB熟悉使用及编程基础2

实验项目1 MATLAB熟悉使用及编程基础MATLAB是美国Mathworks公司推出的一套高件能的数值分析和计算软件,它将矩阵运算、数值分析、图形处理、编程处术结合在一起,为用户提供了一个强有力的科学及工程问题分析计算和程序设计的工具。

MATLAB本身也在不断改进和创新,特别是2000年以出的版本6,无论在界面设计、计算方法、编程阶段和工具等方面都有了巨大的突破,全面引入了面向对象编程的概念和方法,使MATLAB真正成为了具有全部高级语言功能和特征的新一代软件开发平台。

MATLAB开发环境是一组工具和组件的集成,这些工具是图形化的用户接口,它们包括 MATLAB桌面、命令窗口、命令历史窗口、编辑调试窗口以及帮助信信息、工作空间、文件和搜索路径等浏览器。

MATLAB集成了丰富的数学函数库,其强大的计算能力覆盖了从基本函数(如求和、正弦、余弦和复数运算等)到特殊函数(如矩阵求逆、矩阵特征值、贝塞尔函数和快速傅里叶变换等)的范围。

MATLAB语言是一种高级编程语言,包括控制流的描述、函数、数据结构、输入输出及面对对象编程,既可以编制适用于快速使用的小程序,也可以编制大型复杂的应用程序。

MATLAB提供了功能强大的图形系统,既可以完成二维和三维数据的可视化、图像处理、动画和图形表达等功能,也可以定制图形的外观,如建立一个完整的图形用户界由的应用程序。

1.实验目的:掌握MA TLAB编程语言和偏微分方程PDE工具箱对电磁场的基本问题进行仿真;2 实验内容:1、MATLAB启动MA TLAB安装到硬盘后,启动方法有:(1)点击Windows桌面上自动生成的快捷方式图标;(2)点击matlab 6\文件夹下快捷方式图标令MATLAB(3)点击matlab/bin/win32文件夹中的Matlab.exe2、m文件编写熟悉基本指令、基本数学运算,借助help、lookfor等命令实现在线帮助。

建立M文件的一般步骤如下:(1)打开文件编辑器:指的是MA TLAB内部编辑/调试器,可以有几种不同的方法打开文件编辑器,最简单的方法是在操作桌面助工具栏上选择蹦(建立新文件)或选择瞪(打开已有的文件),也可以在命令窗口输入命令edit建立新文件或输入命令edit filename,打开名为fi1ename的M文件。

matlab编程实例100例(精编文档).doc

matlab编程实例100例(精编文档).doc

【最新整理,下载后即可编辑】1-32是:图形应用篇33-66是:界面设计篇67-84是:图形处理篇85-100是:数值分析篇实例1:三角函数曲线(1)function shili01h0=figure('toolbar','none',...'position',[198****0300],...'name','实例01');h1=axes('parent',h0,...'visible','off');x=-pi:0.05:pi;y=sin(x);plot(x,y);xlabel('自变量X');ylabel('函数值Y');title('SIN( )函数曲线');grid on实例2:三角函数曲线(2)function shili02h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例02');x=-pi:0.05:pi;y=sin(x)+cos(x);plot(x,y,'-*r','linewidth',1);grid onxlabel('自变量X');ylabel('函数值Y');title('三角函数');实例3:图形的叠加function shili03h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例03');x=-pi:0.05:pi;y1=sin(x);y2=cos(x);plot(x,y1,...'-*r',...x,y2,...'--og');grid onxlabel('自变量X');ylabel('函数值Y');title('三角函数');实例4:双y轴图形的绘制function shili04h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例04');x=0:900;a=1000;b=0.005;y1=2*x;y2=cos(b*x);[haxes,hline1,hline2]=plotyy(x,y1,x,y2,'semilogy','plot'); axes(haxes(1))ylabel('semilog plot');axes(haxes(2))ylabel('linear plot');实例5:单个轴窗口显示多个图形function shili05h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例05');t=0:pi/10:2*pi;[x,y]=meshgrid(t);subplot(2,2,1)plot(sin(t),cos(t))axis equalsubplot(2,2,2)z=sin(x)-cos(y);plot(t,z)axis([0 2*pi -2 2])subplot(2,2,3)h=sin(x)+cos(y);plot(t,h)axis([0 2*pi -2 2])subplot(2,2,4)g=(sin(x).^2)-(cos(y).^2);plot(t,g)axis([0 2*pi -1 1])实例6:图形标注function shili06h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例06');t=0:pi/10:2*pi;h=plot(t,sin(t));xlabel('t=0到2\pi','fontsize',16);ylabel('sin(t)','fontsize',16);title('\it{从0to2\pi 的正弦曲线}','fontsize',16) x=get(h,'xdata');y=get(h,'ydata');imin=find(min(y)==y);imax=find(max(y)==y);text(x(imin),y(imin),...['\leftarrow最小值=',num2str(y(imin))],...'fontsize',16)text(x(imax),y(imax),...['\leftarrow最大值=',num2str(y(imax))],...'fontsize',16)实例7:条形图形function shili07h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例07');tiao1=[562 548 224 545 41 445 745 512];tiao2=[47 48 57 58 54 52 65 48];t=0:7;bar(t,tiao1)xlabel('X轴');ylabel('TIAO1值');h1=gca;h2=axes('position',get(h1,'position'));plot(t,tiao2,'linewidth',3)set(h2,'yaxislocation','right','color','none','xticklabel',[]) 实例8:区域图形function shili08h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例08');x=91:95;profits1=[88 75 84 93 77];profits2=[51 64 54 56 68];profits3=[42 54 34 25 24];profits4=[26 38 18 15 4];area(x,profits1,'facecolor',[0.5 0.9 0.6],...'edgecolor','b',...'linewidth',3)hold onarea(x,profits2,'facecolor',[0.9 0.85 0.7],...'edgecolor','y',...'linewidth',3)hold onarea(x,profits3,'facecolor',[0.3 0.6 0.7],...'edgecolor','r',...'linewidth',3)hold onarea(x,profits4,'facecolor',[0.6 0.5 0.9],...'edgecolor','m',...'linewidth',3)hold offset(gca,'xtick',[91:95])set(gca,'layer','top')gtext('\leftarrow第一季度销量') gtext('\leftarrow第二季度销量') gtext('\leftarrow第三季度销量') gtext('\leftarrow第四季度销量') xlabel('年','fontsize',16);ylabel('销售量','fontsize',16);实例9:饼图的绘制function shili09h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例09');t=[54 21 35;68 54 35;45 25 12;48 68 45;68 54 69];x=sum(t);h=pie(x);textobjs=findobj(h,'type','text');str1=get(textobjs,{'string'});val1=get(textobjs,{'extent'});oldext=cat(1,val1{:});names={'商品一:';'商品二:';'商品三:'};str2=strcat(names,str1);set(textobjs,{'string'},str2)val2=get(textobjs,{'extent'});newext=cat(1,val2{:});offset=sign(oldext(:,1)).*(newext(:,3)-oldext(:,3))/2; pos=get(textobjs,{'position'});textpos=cat(1,pos{:});textpos(:,1)=textpos(:,1)+offset;set(textobjs,{'position'},num2cell(textpos,[3,2]))实例10:阶梯图function shili10h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例10');a=0.01;b=0.5;t=0:10;f=exp(-a*t).*sin(b*t);stairs(t,f)hold onplot(t,f,':*')hold offglabel='函数e^{-(\alpha*t)}sin\beta*t的阶梯图'; gtext(glabel,'fontsize',16)xlabel('t=0:10','fontsize',16)axis([0 10 -1.2 1.2])实例11:枝干图function shili11h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例11');x=0:pi/20:2*pi;y1=sin(x);y2=cos(x);h1=stem(x,y1+y2);hold onh2=plot(x,y1,'^r',x,y2,'*g');hold offh3=[h1(1);h2];legend(h3,'y1+y2','y1=sin(x)','y2=cos(x)') xlabel('自变量X');ylabel('函数值Y');title('正弦函数与余弦函数的线性组合'); 实例12:罗盘图function shili12h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例12');winddirection=[54 24 65 84256 12 235 62125 324 34 254];windpower=[2 5 5 36 8 12 76 14 10 8];rdirection=winddirection*pi/180;[x,y]=pol2cart(rdirection,windpower); compass(x,y);desc={'风向和风力','北京气象台','10月1日0:00到','10月1日12:00'};gtext(desc)实例13:轮廓图function shili13h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例13');[th,r]=meshgrid((0:10:360)*pi/180,0:0.05:1); [x,y]=pol2cart(th,r);z=x+i*y;f=(z.^4-1).^(0.25);contour(x,y,abs(f),20)axis equalxlabel('实部','fontsize',16);ylabel('虚部','fontsize',16);h=polar([0 2*pi],[0 1]);delete(h)hold oncontour(x,y,abs(f),20)实例14:交互式图形function shili14h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例14');axis([0 10 0 10]);hold onx=[];y=[];n=0;disp('单击鼠标左键点取需要的点'); disp('单击鼠标右键点取最后一个点'); but=1;while but==1[xi,yi,but]=ginput(1);plot(xi,yi,'bo')n=n+1;disp('单击鼠标左键点取下一个点');x(n,1)=xi;y(n,1)=yi;endt=1:n;ts=1:0.1:n;xs=spline(t,x,ts);ys=spline(t,y,ts);plot(xs,ys,'r-');hold off实例14:交互式图形function shili14h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例14');axis([0 10 0 10]);hold onx=[];y=[];n=0;disp('单击鼠标左键点取需要的点'); disp('单击鼠标右键点取最后一个点'); but=1;while but==1[xi,yi,but]=ginput(1);plot(xi,yi,'bo')n=n+1;disp('单击鼠标左键点取下一个点');x(n,1)=xi;y(n,1)=yi;endt=1:n;ts=1:0.1:n;xs=spline(t,x,ts);ys=spline(t,y,ts);plot(xs,ys,'r-');hold off实例15:变换的傅立叶函数曲线function shili15h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例15');axis equalm=moviein(20,gcf);set(gca,'nextplot','replacechildren')h=uicontrol('style','slider','position',...[100 10 500 20],'min',1,'max',20)for j=1:20plot(fft(eye(j+16)))set(h,'value',j)m(:,j)=getframe(gcf);endclf;axes('position',[0 0 1 1]);movie(m,30)实例16:劳伦兹非线形方程的无序活动function shili15h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例15');axis equalm=moviein(20,gcf);set(gca,'nextplot','replacechildren')h=uicontrol('style','slider','position',...[100 10 500 20],'min',1,'max',20)for j=1:20plot(fft(eye(j+16)))set(h,'value',j)m(:,j)=getframe(gcf);endclf;axes('position',[0 0 1 1]);movie(m,30)实例17:填充图function shili17h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例17');t=(1:2:15)*pi/8;x=sin(t);y=cos(t);fill(x,y,'r')axis square offtext(0,0,'STOP',...'color',[1 1 1],...'fontsize',50,...'horizontalalignment','center') 例18:条形图和阶梯形图function shili18h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例18');subplot(2,2,1)x=-3:0.2:3;y=exp(-x.*x);bar(x,y)title('2-D Bar Chart')subplot(2,2,2)x=-3:0.2:3;y=exp(-x.*x);bar3(x,y,'r')title('3-D Bar Chart')subplot(2,2,3)x=-3:0.2:3;y=exp(-x.*x);stairs(x,y)title('Stair Chart')subplot(2,2,4)x=-3:0.2:3;y=exp(-x.*x);barh(x,y)title('Horizontal Bar Chart')实例19:三维曲线图function shili19h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例19');subplot(2,1,1)x=linspace(0,2*pi);y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);z1=zeros(size(x));z2=0.5*z1;z3=z1;plot3(x,y1,z1,x,y2,z2,x,y3,z3)grid onxlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure1:3-D Plot')subplot(2,1,2)x=linspace(0,2*pi);y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);z1=zeros(size(x));z2=0.5*z1;z3=z1;plot3(x,z1,y1,x,z2,y2,x,z3,y3)grid onxlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure2:3-D Plot')实例20:图形的隐藏属性function shili20h0=figure('toolbar','none',...'position',[200 150 450 300],...'name','实例20');subplot(1,2,1)[x,y,z]=sphere(10);mesh(x,y,z)axis offtitle('Figure1:Opaque')hidden onsubplot(1,2,2)[x,y,z]=sphere(10);mesh(x,y,z)axis offtitle('Figure2:Transparent') hidden off实例21PEAKS函数曲线function shili21h0=figure('toolbar','none',...'position',[200 100 450 450],...'name','实例21');[x,y,z]=peaks(30);subplot(2,1,1)x=x(1,:);y=y(:,1);i=find(y>0.8&y<1.2);j=find(x>-0.6&x<0.5);z(i,j)=nan*z(i,j);surfc(x,y,z)xlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure1:surfc函数形成的曲面') subplot(2,1,2)x=x(1,:);y=y(:,1);i=find(y>0.8&y<1.2);j=find(x>-0.6&x<0.5);z(i,j)=nan*z(i,j);surfl(x,y,z)xlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure2:surfl函数形成的曲面') 实例22:片状图function shili22h0=figure('toolbar','none',...'position',[200 150 550 350],...'name','实例22');subplot(1,2,1)x=rand(1,20);y=rand(1,20);z=peaks(x,y*pi);t=delaunay(x,y);trimesh(t,x,y,z)hidden offtitle('Figure1:Triangular Surface Plot'); subplot(1,2,2)x=rand(1,20);y=rand(1,20);z=peaks(x,y*pi);t=delaunay(x,y);trisurf(t,x,y,z)title('Figure1:Triangular Surface Plot'); 实例23:视角的调整function shili23h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例23');x=-5:0.5:5;[x,y]=meshgrid(x);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;subplot(2,2,1)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure1')view(-37.5,30)subplot(2,2,2)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure2')view(-37.5+90,30) subplot(2,2,3)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure3')view(-37.5,60)subplot(2,2,4)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure4')view(180,0)实例24:向量场的绘制function shili24h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例24');subplot(2,2,1)z=peaks;ribbon(z)title('Figure1')subplot(2,2,2)[x,y,z]=peaks(15);[dx,dy]=gradient(z,0.5,0.5); contour(x,y,z,10)hold onquiver(x,y,dx,dy)hold offtitle('Figure2')subplot(2,2,3)[x,y,z]=peaks(15);[nx,ny,nz]=surfnorm(x,y,z);surf(x,y,z)hold onquiver3(x,y,z,nx,ny,nz)hold offtitle('Figure3')subplot(2,2,4)x=rand(3,5);y=rand(3,5);z=rand(3,5);c=rand(3,5);fill3(x,y,z,c)grid ontitle('Figure4')实例25:灯光定位function shili25h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例25');vert=[1 1 1;1 2 1;2 2 1;2 1 1;1 1 2;12 2;2 2 2;2 1 2];fac=[1 2 3 4;2 6 7 3;4 3 7 8;15 8 4;1 2 6 5;5 6 7 8];grid offsphere(36)h=findobj('type','surface');set(h,'facelighting','phong',...'facecolor',...'interp',...'edgecolor',[0.4 0.4 0.4],...'backfacelighting',...'lit')hold onpatch('faces',fac,'vertices',vert,...'facecolor','y');light('position',[1 3 2]);light('position',[-3 -1 3]);material shinyaxis vis3d offhold off实例26:柱状图function shili26h0=figure('toolbar','none',...'position',[200 50 450 450],...'name','实例26'); subplot(2,1,1)x=[5 2 18 7 39 8 65 5 54 3 2];bar(x)xlabel('X轴');ylabel('Y轴');title('第一子图');subplot(2,1,2)y=[5 2 18 7 39 8 65 5 54 3 2];barh(y)xlabel('X轴');ylabel('Y轴');title('第二子图');实例27:设置照明方式function shili27h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例27');subplot(2,2,1)sphereshading flatcamlight leftcamlight rightlighting flatcolorbaraxis offtitle('Figure1')subplot(2,2,2)sphereshading flatcamlight leftcamlight rightlighting gouraudcolorbaraxis offtitle('Figure2')subplot(2,2,3)sphereshading interpcamlight rightcamlight leftlighting phongaxis offtitle('Figure3')subplot(2,2,4)sphereshading flatcamlight leftcamlight rightlighting nonecolorbaraxis offtitle('Figure4')实例28:羽状图function shili28h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例28');subplot(2,1,1)alpha=90:-10:0;r=ones(size(alpha));m=alpha*pi/180;n=r*10;[u,v]=pol2cart(m,n);feather(u,v)title('羽状图')axis([0 20 0 10])subplot(2,1,2)t=0:0.5:10;y=exp(-x*t);feather(y)title('复数矩阵的羽状图')实例29:立体透视(1)function shili29h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例29');[x,y,z]=meshgrid(-2:0.1:2,...-2:0.1:2,...-2:0.1:2);v=x.*exp(-x.^2-y.^2-z.^2);grid onfor i=-2:0.5:2;h1=surf(linspace(-2,2,20),...linspace(-2,2,20),...zeros(20)+i);rotate(h1,[1 -1 1],30)dx=get(h1,'xdata');dy=get(h1,'ydata');dz=get(h1,'zdata');delete(h1)slice(x,y,z,v,[-2 2],2,-2)hold onslice(x,y,z,v,dx,dy,dz)hold offaxis tightview(-5,10)drawnowend实例30:立体透视(2)function shili30h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例30');[x,y,z]=meshgrid(-2:0.1:2,...-2:0.1:2,...-2:0.1:2);v=x.*exp(-x.^2-y.^2-z.^2); [dx,dy,dz]=cylinder;slice(x,y,z,v,[-2 2],2,-2)for i=-2:0.2:2h=surface(dx+i,dy,dz);rotate(h,[1 0 0],90)xp=get(h,'xdata');yp=get(h,'ydata');zp=get(h,'zdata');delete(h)hold onhs=slice(x,y,z,v,xp,yp,zp);axis tightxlim([-3 3])view(-10,35)drawnowdelete(hs)hold offend实例31:表面图形function shili31h0=figure('toolbar','none',...'position',[200 150 550 250],...'name','实例31');subplot(1,2,1)x=rand(100,1)*16-8;y=rand(100,1)*16-8;r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;xlin=linspace(min(x),max(x),33); ylin=linspace(min(y),max(y),33); [X,Y]=meshgrid(xlin,ylin);Z=griddata(x,y,z,X,Y,'cubic'); mesh(X,Y,Z)axis tighthold onplot3(x,y,z,'.','Markersize',20) subplot(1,2,2)k=5;n=2^k-1;theta=pi*(-n:2:n)/n;phi=(pi/2)*(-n:2:n)'/n;X=cos(phi)*cos(theta);Y=cos(phi)*sin(theta);Z=sin(phi)*ones(size(theta)); colormap([0 0 0;1 1 1])C=hadamard(2^k);surf(X,Y,Z,C)axis square实例32:沿曲线移动的小球h0=figure('toolbar','none',...'position',[198****8468],...'name','实例32');h1=axes('parent',h0,...'position',[0.15 0.45 0.7 0.5],...'visible','on');t=0:pi/24:4*pi;y=sin(t);plot(t,y,'b')n=length(t);h=line('color',[0 0.5 0.5],...'linestyle','.',...'markersize',25,...'erasemode','xor');k1=uicontrol('parent',h0,...'style','pushbutton',...'position',[80 100 50 30],...'string','开始',...'callback',[...'i=1;',...'k=1;,',...'m=0;,',...'while 1,',...'if k==0,',...'break,',...'end,',...'if k~=0,',...'set(h,''xdata'',t(i),''ydata'',y(i)),',...'drawnow;,',...'i=i+1;,',...'if i>n,',...'m=m+1;,',...'i=1;,',...'end,',...'end,',...'end']);k2=uicontrol('parent',h0,...'style','pushbutton',...'position',[180 100 50 30],...'string','停止',...'callback',[...'k=0;,',...'set(e1,''string'',m),',...'p=get(h,''xdata'');,',...'q=get(h,''ydata'');,',...'set(e2,''string'',p);,',...'set(e3,''string'',q)']); k3=uicontrol('parent',h0,...'style','pushbutton',...'position',[280 100 50 30],...'string','关闭',...'callback','close');e1=uicontrol('parent',h0,...'style','edit',...'position',[60 30 60 20]);t1=uicontrol('parent',h0,...'style','text',...'string','循环次数',...'position',[60 50 60 20]);e2=uicontrol('parent',h0,...'style','edit',...'position',[180 30 50 20]);t2=uicontrol('parent',h0,...'style','text',...'string','终点的X坐标值',...'position',[155 50 100 20]);e3=uicontrol('parent',h0,...'style','edit',...'position',[300 30 50 20]);t3=uicontrol('parent',h0,...'style','text',...'string','终点的Y坐标值',...'position',[275 50 100 20]);实例33:曲线转换按钮h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例33');x=0:0.5:2*pi;y=sin(x);h=plot(x,y);grid onhuidiao=[...'if i==1,',...'i=0;,',...'y=cos(x);,',...'delete(h),',...'set(hm,''string'',''正弦函数''),',...'h=plot(x,y);,',...'grid on,',...'else if i==0,',...'i=1;,',...'y=sin(x);,',...'set(hm,''string'',''余弦函数''),',...'delete(h),',...'h=plot(x,y);,',...'grid on,',...'end,',...'end'];hm=uicontrol(gcf,'style','pushbutton',...'string','余弦函数',...'callback',huidiao);i=1;set(hm,'position',[250 20 60 20]);set(gca,'position',[0.2 0.2 0.6 0.6])title('按钮的使用')hold on实例34:栅格控制按钮h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例34');x=0:0.5:2*pi;y=sin(x);plot(x,y)huidiao1=[...'set(h_toggle2,''value'',0),',...'grid on,',...];huidiao2=[...'set(h_toggle1,''value'',0),',...'grid off,',...];h_toggle1=uicontrol(gcf,'style','togglebutton',...'string','grid on',...'value',0,...'position',[20 45 50 20],...'callback',huidiao1);h_toggle2=uicontrol(gcf,'style','togglebutton',...'string','grid off',...'value',0,...'position',[20 20 50 20],...'callback',huidiao2);set(gca,'position',[0.2 0.2 0.6 0.6])title('开关按钮的使用')实例35:编辑框的使用h0=figure('toolbar','none',...'position',[200 150 350 250],...'name','实例35');f='Please input the letter';huidiao1=[...'g=upper(f);,',...'set(h2_edit,''string'',g),',...];huidiao2=[...'g=lower(f);,',...'set(h2_edit,''string'',g),',...];h1_edit=uicontrol(gcf,'style','edit',...'position',[100 200 100 50],...'HorizontalAlignment','left',...'string','Please input the letter',...'callback','f=get(h1_edit,''string'');',...'background','w',...'max',5,...'min',1);h2_edit=uicontrol(gcf,'style','edit',...'HorizontalAlignment','left',...'position',[100 100 100 50],...'background','w',...'max',5,...'min',1);h1_button=uicontrol(gcf,'style','pushbutton',...'string','小写变大写',...'position',[100 45 100 20],...'callback',huidiao1);h2_button=uicontrol(gcf,'style','pushbutton',...'string','大写变小写',...'position',[100 20 100 20],...'callback',huidiao2);实例36:弹出式菜单h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例36');x=0:0.5:2*pi;y=sin(x);h=plot(x,y);grid onhm=uicontrol(gcf,'style','popupmenu',...'string',...'sin(x)|cos(x)|sin(x)+cos(x)|exp(-sin(x))',...'position',[250 20 50 20]);set(hm,'value',1)huidiao=[...'v=get(hm,''value'');,',...'switch v,',...'case 1,',...'delete(h),',...'y=sin(x);,',...'h=plot(x,y);,',...'grid on,',...'case 2,',...'delete(h),',...'y=cos(x);,',...'h=plot(x,y);,',...'grid on,',...'case 3,',...'delete(h),',...'y=sin(x)+cos(x);,',...'h=plot(x,y);,',...'grid on,',...'case 4,',...'delete(h),',...'y=exp(-sin(x));,',...'h=plot(x,y);,',...'grid on,',...'end'];set(hm,'callback',huidiao)set(gca,'position',[0.2 0.2 0.6 0.6]) title('弹出式菜单的使用')实例37:滑标的使用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例37');[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;h0=mesh(x,y,z);h1=axes('position',...[0.2 0.2 0.5 0.5],...'visible','off');htext=uicontrol(gcf,...'units','points',...'position',[20 30 45 15],...'string','brightness',...'style','text');hslider=uicontrol(gcf,...'units','points',...'position',[10 10 300 15],...'min',-1,...'max',1,...'style','slider',...'callback',...'brighten(get(hslider,''value''))'); 实例38:多选菜单h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例38');[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;h0=mesh(x,y,z);hlist=uicontrol(gcf,'style','listbox',...'string','default|spring|summer|autumn|winter',...'max',5,...'min',1,...'position',[20 20 80 100],...'callback',[...'k=get(hlist,''value'');,',...'switch k,',...'case 1,',...'colormap default,',...'case 2,',...'colormap spring,',...'case 3,',...'colormap summer,',...'case 4,',...'colormap autumn,',...'case 5,',...'colormap winter,',...'end']);实例39:菜单控制的使用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例39');x=0:0.5:2*pi;y=cos(x);h=plot(x,y);grid onset(gcf,'toolbar','none')hm=uimenu('label','example');huidiao1=[...'set(hm_gridon,''checked'',''on''),',...'set(hm_gridoff,''checked'',''off''),',...'grid on'];huidiao2=[...'set(hm_gridoff,''checked'',''on''),',...'set(hm_gridon,''checked'',''off''),',...'grid off'];hm_gridon=uimenu(hm,'label','grid on',...'checked','on',...'callback',huidiao1);hm_gridoff=uimenu(hm,'label','grid off',...'checked','off',...'callback',huidiao2);实例40:UIMENU菜单的应用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例40');h1=uimenu(gcf,'label','函数');h11=uimenu(h1,'label','轮廓图',...'callback',[...'set(h31,''checked'',''on''),',...'set(h32,''checked'',''off''),',...'[x,y,z]=peaks;,',...'contour3(x,y,z,30)']);h12=uimenu(h1,'label','高斯分布',...'callback',[...'set(h31,''checked'',''on''),',...'set(h32,''checked'',''off''),',...'mesh(peaks);,',...'axis tight']);。

matlab使用拉格朗日法计算动力学方程参数

matlab使用拉格朗日法计算动力学方程参数

matlab使用拉格朗日法计算动力学方程参数标题:用MATLAB使用拉格朗日法计算动力学方程参数导言:在工程和科学领域中,我们经常需要对系统进行动力学建模和分析。

动力学方程是描述系统运动的数学表达式,它们可以帮助我们理解和预测系统的行为。

而计算动力学方程的参数对于系统的设计、优化和控制具有重要意义。

本文将介绍如何使用MATLAB编程语言和拉格朗日法来计算动力学方程参数,通过数值求解和优化方法,为工程师和科学家提供一个有力的工具。

1. 动力学方程与参数计算在动力学中,系统可以通过一组微分方程来描述。

这些方程表示系统的行为和演变,通常包括质量、速度、加速度和其他相关因素。

对于复杂系统,计算动力学参数可能是一项繁琐且复杂的任务。

幸运的是,拉格朗日法可以简化这一过程,通过定义能量或运动方程来推导系统动力学方程。

2. 拉格朗日法介绍拉格朗日法是一种基于能量和运动方程的变分法。

通过将系统的动能和势能组合成拉格朗日函数,并使用欧拉-拉格朗日方程,可以得到系统的运动方程。

拉格朗日法不仅适用于具有广义坐标的连续系统,还适用于离散系统和有束缚条件的系统。

3. MATLAB编程实现在MATLAB中,我们可以使用符号计算工具包来处理复杂的数学表达式和符号计算。

我们需要定义系统的广义坐标、广义速度和拉格朗日函数。

通过欧拉-拉格朗日方程生成系统的运动方程。

我们可以使用数值求解和优化方法来计算动力学参数。

4. 示例:双摆系统为了更好地理解如何使用MATLAB实现拉格朗日法,我们将以一个双摆系统为例。

双摆系统由两个连杆组成,每个连杆上挂有一个质点。

我们需要计算系统的动力学参数,包括质点的位置、速度和加速度。

通过拉格朗日法,我们可以推导出系统的运动方程,并使用MATLAB 进行求解和优化。

5. 讨论与总结本文介绍了使用MATLAB编程语言和拉格朗日法计算动力学方程参数的方法。

通过拉格朗日法,我们可以简化动力学参数的计算,并为系统的设计和优化提供可行性的解决方案。

汽车理论课后习题MATLAB编程-武汉理工版

汽车理论课后习题MATLAB编程-武汉理工版

汽车理论课后习题MATLAB编程1.3 确定一轻型货车的动力性能(货车可装用4挡或5挡变速器,任选其中的一种进行整车性能计算):1)绘制汽车驱动力与行驶阻力平衡图。

2)求汽车最高车速,最大爬坡度及克服该坡度时相应的附着率。

3)绘制汽车行驶加速度倒数曲线,用图解积分法求汽车用2档起步加速行驶至70km/h的车速-时间曲线,或者用计算机求汽车用2档起步加速行驶至70km/h的加速时间。

解:(1) 求汽车驱动力与行驶阻力平衡图和汽车最高车速:n=[600:10:4000];Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/10 00).^4;m=3880;g=9.8;nmin=600;nmax=4000;G=m*g;ig=[5.56 2.769 1.644 1.00 0.793];nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83;L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598;Ft1=Tq*ig(1)*i0*nT/r;Ft2=Tq*ig(2)*i0*nT/r;Ft3=Tq*ig(3)*i0*nT/r;Ft4=Tq*ig(4)*i0*nT/r;Ft5=Tq*ig(5)*i0*nT/r;ua1=0.377*r*n/ig(1)/i0;ua2=0.377*r*n/ig(2)/i0;ua3=0.377*r*n/ig(3)/i0;ua4=0.377*r*n/ig(4)/i0;ua5=0.377*r*n/ig(5)/i0;ua=[0:5:120];Ff=G*f;Fw=CDA*ua.^2/21.15;Fz=Ff+Fw;plot(ua1,Ft1,ua2,Ft2,ua3,Ft3,ua4,Ft4,ua5,Ft5,ua,Fz);title('驱动力-行驶阻力平衡图');xlabel('ua(km/s)');ylabel('Ft(N)');gtext('Ft1'),gtext('Ft2'),gtext('Ft3'),gtext('Ft4'),gtext('Ft5'),gtext('Ff+Fw');zoom on;[x,y]=ginput(1);zoom off;disp('汽车最高车速=');disp(x);disp('km/h');汽车最高车速=99.3006km/h(2)求汽车最大爬坡度程序:n=[600:10:4000];Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/10 00).^4;m=3880;g=9.8;nmin=600;nmax=4000;G=m*g;ig=[5.56 2.769 1.644 1.00 0.793];nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83;L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598;Ft1=Tq*ig(1)*i0*nT/r;ua1=0.377*r*n/ig(1)/i0;Ff=G*f;Fw1=CDA*ua1.^2/21.15;Fz1=Ff+Fw1;Fi1=Ft1-Fz1;Zoom on;imax=100*tan(asin(max(Fi1/G)));disp('汽车最大爬坡度=');disp(imax);disp('%');汽车最大爬坡度=35.2197%(3)求最大爬坡度相应的附着率和求汽车行驶加速度倒数曲线程序:clearn=[600:10:4000];Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/10 00).^4;m=3880;g=9.8;nmin=600;nmax=4000;G=m*g;ig=[5.56 2.769 1.644 1.00 0.793];nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83;L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598;Ft1=Tq*ig(1)*i0*nT/r;Ft2=Tq*ig(2)*i0*nT/r;Ft3=Tq*ig(3)*i0*nT/r;Ft4=Tq*ig(4)*i0*nT/r;Ft5=Tq*ig(5)*i0*nT/r;ua1=0.377*r*n/ig(1)/i0;ua2=0.377*r*n/ig(2)/i0;ua3=0.377*r*n/ig(3)/i0;ua4=0.377*r*n/ig(4)/i0;ua5=0.377*r*n/ig(5)/i0;Fw1=CDA*ua1.^2/21.15;Fw2=CDA*ua2.^2/21.15;Fw3=CDA*ua3.^2/21.15;Fw4=CDA*ua4.^2/21.15;Fw5=CDA*ua5.^2/21.15;Ff=G*f;deta1=1+(Iw1+Iw2)/(m*r^2)+(If*ig(1)^2*i0^2*nT)/(m*r^2);deta2=1+(Iw1+Iw2)/(m*r^2)+(If*ig(2)^2*i0^2*nT)/(m*r^2);deta3=1+(Iw1+Iw2)/(m*r^2)+(If*ig(3)^2*i0^2*nT)/(m*r^2);deta4=1+(Iw1+Iw2)/(m*r^2)+(If*ig(4)^2*i0^2*nT)/(m*r^2);deta5=1+(Iw1+Iw2)/(m*r^2)+(If*ig(5)^2*i0^2*nT)/(m*r^2);a1=(Ft1-Ff-Fw1)/(deta1*m);ad1=1./a1;a2=(Ft2-Ff-Fw2)/(deta2*m);ad2=1./a2;a3=(Ft3-Ff-Fw3)/(deta3*m);ad3=1./a3;a4=(Ft4-Ff-Fw4)/(deta4*m);ad4=1./a4;a5=(Ft5-Ff-Fw5)/(deta5*m);ad5=1./a5;plot(ua1,ad1,ua2,ad2,ua3,ad3,ua4,ad4,ua5,ad5);axis([0 99 0 10]);title('汽车的加速度倒数曲线');xlabel('ua(km/h)');ylabel('1/a');gtext('1/a1');gtext('1/a2');gtext('1/a3');gtext('1/a4');gtext('1/a5');a=max(a1);af=asin(max(Ft1-Ff-Fw1)/G);C=tan(af)/(a/L+hg*tan(af)/L);disp('假设后轮驱动,最大爬坡度相应的附着率=');disp(C);假设后轮驱动,最大爬坡度相应的附着率=0.4219(4) >>clearnT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83;If=0.218;Iw1=1.798;Iw2=3.598;L=3.2;a=1.947;hg=0.9;m=3880;g=9.8;G=m*g; ig=[5.56 2.769 1.644 1.00 0.793];nmin=600;nmax=4000;u1=0.377*r*nmin./ig/i0;u2=0.377*r*nmax./ig/i0;deta=0*ig;for i=1:5deta(i)=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(i))^2*i0^2*nT)/(m*r^2);endua=[6:0.01:99];N=length(ua);n=0;Tq=0;Ft=0;inv_a=0*ua;delta=0*ua;Ff=G*f;Fw=CDA*ua.^2/21.15;for i=1:Nk=i;if ua(i)<=u2(2)n=ua(i)*(ig(2)*i0/r)/0.377;Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)^2+40.874*(n/1000)^3-3.8445*(n/100 0)^4;Ft=Tq*ig(2)*i0*nT/r;inv_a(i)=(deta(2)*m)/(Ft-Ff-Fw(i));delta(i)=0.01*inv_a(i)/3.6;elseif ua(i)<=u2(3)n=ua(i)*(ig(3)*i0/r)/0.377;Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)^2+40.874*(n/1000)^3-3.8445*(n/100 0)^4;Ft=Tq*ig(3)*i0*nT/r;inv_a(i)=(deta(3)*m)/(Ft-Ff-Fw(i));delta(i)=0.01*inv_a(i)/3.6;elseif ua(i)<=u2(4)n=ua(i)*(ig(4)*i0/r)/0.377;Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)^2+40.874*(n/1000)^3-3.8445*(n/100 0)^4;Ft=Tq*ig(4)*i0*nT/r;inv_a(i)=(deta(4)*m)/(Ft-Ff-Fw(i));delta(i)=0.01*inv_a(i)/3.6;elsen=ua(i)*(ig(5)*i0/r)/0.377;Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)^2+40.874*(n/1000)^3-3.8445*(n/100 0)^4;Ft=Tq*ig(5)*i0*nT/r;inv_a(i)=(deta(5)*m)/(Ft-Ff-Fw(i));delta(i)=0.01*inv_a(i)/3.6;enda=delta(1:k);t(i)=sum(a);endplot(t,ua);axis([0 80 0 100]);title('汽车2档原地起步换挡加速时间曲线');xlabel('时间t(s)');ylabel('速度ua(km/h)');>> ginputans =25.8223 70.073725.7467 70.0737所以汽车2档原地起步换挡加速行驶至70km/h的加速时间约为25.8s2.7已知货车装用汽油发动机的负荷特性与万有特性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

力系平衡问题
一、实验目的
1、进一步掌握力系平衡知识;
2、掌握利用理论力学知识解决复杂力系平衡问题的能力;
3、提高利用计算机进行辅助分析的能力。

二、实验内容
利用Matlab求解刚体系平衡问题。

三、实验原理
1、力系平衡方程;
2、代数方程求解命令solve。

四、实验工具
计算机以及Matlab软件

五、实验过程
1、力学模型建立、描述
组合梁由AC和CD铰接而成。已知:q=5KN/m,力偶矩M=,不计梁重。试求支座A,B,
C,D处的约束力。

2、数学模型的建立
-Fay-FCy+FBy-q*4=0
Fax-FCx=0
FBy*2-FCy*4-q*4*2=0
-FD*cos(pi/6)+FCx=0
FD*sin(pi/6)+FCy=0
-M+FD*4*sin(pi/6)=0

3、数学模型求解仿真
编写Matlab命令文件如下:
clear
eq1='-q*4-FAy-FCy+FBy=0';
eq2='FAx-FCx=0';
eq3='FBy*2-FCy*4-q*4*2=0';
eq4='FCy+FD*sin(pi/6)=0';
eq5='FCx-FD*cos(pi/6)=0';
eq6='FD*4*sin(pi/6)-M=0';
s=solve(eq1,eq2,eq3,eq4,eq5,eq6,'FAx','FAy','FBy','FCx','FCy','FD');

q=5;M=20;
%单位为KN
FAx=subs
FAy=subs
FBy=subs
FCx=subs
FCy=subs
FD=subs

六、实验结果
FAx =
FAy =-5
FBy =10
FCx =
FCy =-5
FD =10
复摆运动分析研究
一、试验目的
1、进一步掌握动力学基本理论,掌握复摆运动的规律;
2、掌握利用理论力学知识解决复杂力学问题的能力;
3、提高利用计算机进行辅助分析的能力。

二、实验内容
本试验对复摆的运动规律进行详细的分析研究:建立复摆的运动微分方程,利用matlab
对复摆进行仿真计算,研究复摆的摆角对运动周期的影响。

三、实验原理
1、动量矩定理或刚体定轴转动微分方程;
2、运动微分方程的数值求解。
matlab中的常用微分方程的数值求解命令直接求解的是一阶常微分方程。而动力学微
分方程一般是两阶的。利用数值方程求解动力学微分方程需要首先对其进行降阶增维处理。

四.实验过程
1、力学模型建立,描述
建立复摆的运动微分方程,其中复摆的质量为m,质心为C,质心到悬挂点的距离为a

2、数学模型的建立
J*( theta0)’’=-m*g*a*sin(theta0)

3.数学模型求解仿真
对上述方程进行降阶增维,令Y=[theta0,theta0’]=[y1,y2]
可得方程组:
Y1’=y2;
Y2’=-m*g*sin(y1)/J

编写Matlab命令文件如下
主程序:
global J g m a
J=10,g=10,m=5,a=;
tmax=30;step=;
theta0=pi/8;
[t,y]=ode45('fubai',[0:step:tmax],[theta0,0]);
subplot(2,1,1);
plot(t,y(:,1));
subplot(2,1,2);
plot(t,y(:,2));
子程序:

function ydot=fbai(t,y)
global J g m a
ydot=[y(2)
-m*g*a*sin(y(1))/J];
五、实验结果分析讨论

由图观察可知:
当theta0较小时,theta0的逐渐变
大,对周期的影响不明显。当theta0增大至一定角度 时,随着theta0值的增大,周期明
显逐渐变大。
精心搜集整理,只为你的需要

相关文档
最新文档