matlab习题,matLAB经典例题及答案.pdf

一一. 对以下数据分别作二次对以下数据分别作二次, ,三次多项式拟合三次多项式拟合, ,并画出图形并画出图形. . x=1:16; y=[4, 6.4, 8, 8.4, 9.28, 9.5, 9.7, 9.86, 10, 10.2, 10.32, 10.42, 10.5, 10.55, 10.58, 10.6]; 答:程序如下答:程序如下 ((1 1))x = (1:16); y = erf(x); p = polyfit(x,y,2); f = polyval(p,x); plot(x,y,x,f); 结果结果p p = = -0.0010-0.00100.02020.02020.90960.9096 图形图形 0246810121416 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1 1.02 1.04 ((2 2))y=[4, 6.4, 8, 8.4, 9.28, 9.5, 9.7, 9.86, 10, 10.2, 10.32, 10.42, 10.5, 10.55, 10.58, 10.6]; y = erf(x); p = polyfit(x,y,3) f = polyval(p,x); plot(x,y,x,f) 结果结果 P P= = 0.00020.0002-0.0071-0.00710.06280.06280.84040.8404 图形图形 0246810121416 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1 1.02 1.04 二二. 在在[0,4pi][0,4pi]画画 sin(x),cos(x)(sin(x),cos(x)(在同一个图象中在同一个图象中););其中其中 cos(x)cos(x)图象用红色图象用红色 小圆圈画小圆圈画. .并在函数图上标注并在函数图上标注 ““y=sin(x)y=sin(x)””, , ““y=cos(x)y=cos(x)””,x,x 轴轴,y,y 轴轴, ,标题标题 为为““正弦余弦函数图象正弦余弦函数图象””. . 答:程序如下答:程序如下 x=[0:720]*pi/180; plot(x,sin(x),x,cos(x),'ro'); x=[2.5;7]; y=[0;0]; s=['y=sin(x)';'y= cos(x)']; text(x,y,s); xlabel('正弦余弦函数图象'),ylabel('正弦余弦函数图象') 图形如下图形如下 02468101214 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 y=sin(x)y=cos(x) 正 弦 余 弦 函 数 图 象 正弦余弦函数图象 三三. .选择一个单自由度线性振动系统模型选择一个单自由度线性振动系统模型,,自定质量自定质量、、弹簧刚度弹簧刚度、、阻尼阻尼、、激振力激振力 等一组参数等一组参数,,分别编程分别编程((m m 文件文件))计算自由和强迫振动时的响应计算自由和强迫振动时的响应,,并画出振动曲并画出振动曲 线图。线图。 (要求画出该单自由度线性振动系统模型图)(要求画出该单自由度线性振动系统模型图) 其中其中质量为质量为m=1000kg,m=1000kg,弹性刚度弹性刚度k=48020N/m,k=48020N/m,阻尼阻尼c=1960N.s/m,c=1960N.s/m,激振力激振力f(t)=0.f(t)=0. 阻尼比阻尼比ζζ的程序的程序 p=1960/(2*sqrt(48020*1000))p=1960/(2*sqrt(48020*1000)) 求得求得 p=0.1414p=0.1414而而p p为阻尼比为阻尼比ζζ 强迫振动时的响应程序强迫振动时的响应程序 g = tf([-1 0 1],[48020 0 48020*1.98 48020]); bode(g) 图形图形 -120 -110 -100 -90 -80 Magnitude (dB) 10 -2 10 -1 10 0 10 1 -90 -45 0 45 90 Phase (deg) Bode Diagram Frequency (rad/sec) 自由振动的响应自由振动的响应 g = tf([0 0 1],[0 0 0 1]); bode(g) 图形图形 -1 -0.5 0 0.5 1 Magnitude (dB) 10 0 10 1 -1 -0.5 0 0.5 1 Phase (deg) Bode Diagram Frequency (rad/sec) 振动曲线图程序:振动曲线图程序: 函数文件函数文件 function dx = rigid(t,x) dx = zeros(2,1); dx(1) = x(2); dx(2) = (-48020*x(1)-1960*x(2))/1000; 命令文件命令文件 options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4]); [T,X] = ode45(@rigid,[0 12],[1 1],options); plot(T,X(:,1),'-') 其图形如下其图形如下 024681012 -6 -5 -4 -3 -2 -1 0 1 2 3 4 单自由度线性强迫振动系统模型图单自由度线性强迫振动系统模型图 其 中 质 量 为其 中 质 量 为 m=1000kg,m=1000kg, 弹 性 刚 度弹 性 刚 度 k=48020N/m,k=48020N/m, 阻 尼阻 尼 c=1960N.s/mc=1960N.s/m ,, f(t)=cos(3*pi*t)f(t)=cos(3*pi*t) 振动曲线图程序:振动曲线图程序: 函数文件函数文件 function dx = rigid(t,x) dx= zeros(2,1); dx(1) = x(2); dx(2) = (-48020*x(1)-1960*x(2))/1000+cos(3*pi*t); 命令文件命令文件 options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4]); [T,X] = ode45(@rigid,[0 20],[1 1],options); plot(T,X(:,1),'-') 其图形如下其图形如下 02468101214161820 -6 -5 -4 -3 -2 -1 0 1 2 3 4 四四. . 选择一个单自由度线性振动系统模型,自定质量、弹簧刚度、阻尼、激振选择一个单自由度线性振动系统模型,自定质量、弹簧刚度、阻尼、激振 力等一组参数,建立力等一组参数,建立 SimulinkSimulink 仿真模型框图进行仿真分析。仿真模型框图进行仿真分析。 答案:参数与第二题一样。答案:参数与第二题一样。 仿真参数设置:仿真参数设置:simulationsimulation/ /simulationsimulationparametersparameters TimeTime::0 0,,100s100s,,solversolver optionsoptions::variable-stepvariable-step,,ode45ode45 SimulinkSimulink仿真模型框图如下:仿真模型框图如下: 五.自选一个力学问题(除单自由度线性振动系统外五.自选一个力学问题(除单自由度线性振动系统外)) ,应用,应用 MATLABMATLAB 求解。求解。 (要求有问题描述、数学模型、编制程序、结果显示)(要求有问题描述、数学模型、编制程序、结果显示) 解:问题描述解:问题描述 梁长梁长 L=2mL=2m , ,截面尺寸截面尺寸 b*hb*h 为为 0.04m*0.02m0.04m*0.02m , ,截面惯性矩为截面惯性矩为 2.67*(10e-8)2.67*(10e-8),密度,密度 为为 7920kg/7920kg/,质量块的质量,质量块的质量 M M 为为 3.0kg3.0kg弹性模量弹性模量 E=210GPa.E=210GPa.求简支梁的模求简支梁的模 态态. . 采用集中质量法采用集中质量法 力学模型如下力学模型如下: : 数学模型:数学模型: 质量矩阵为质量矩阵为 柔度矩阵柔度矩阵 矩阵矩阵 D=FMD=FM 称作矩阵的动力矩阵称作矩阵的动力矩阵 MATLABMATLAB 程序:程序: m=[1 0 0;0 1.94 0;0 0 1]; h=0.00000195*3.186; b=[9 11 7;11 16 11;7 11 9]; f=h.*b; a=f*m; d=[1 1 1]'; for i=1:16; y=a*d; d=(1/y(3,1))*y; end v=d s=m*y; 结果:v = 1.0000 1.4271 1.0000 程序:程序: w1=1/sqrt(s(3,1)) subplot(3,1,1) plot([0 2],[0 0]) hold on plot([0 0.5 1 1.5 2],[0 v(1,1) v(2,1) v(3,1) 0]) p=v'*m*v; q=v*v'*m; j=a-(s(3,1)/p)*q; d=[1 1 -1]'; % x(1)=d; for i=1:16; y=j*d; % l=y(i) d=(1/y(3,1))*y; end v=d s=m*y; w2=1/sqrt(s(3,1)) subplot(3,1,2) plot([0 2],[0 0]) hold on plot([0 0.5 1 1.5 2],[0 v(1,1) v(2,1) v(3,1) 0]) q=v*v'*m; r=j-(s(3,1)/p)*q; d=[1 -1 1]'; % x(1)=d; for i=1:16; y=r*d; % l=y(i) d=(1/y(3,1))*y; end v=d s=m*y; w3=1/sqrt(s(3,1)) subplot(3,1,3) plot([0 2],[0 0]) hold on plot([0 0.5 1 1.5 2],[0 v(1,1) v(2,1) v(3,1) 0]) 结果:结果: w1w1 = = 58.862958.8629 v v = = -1.0000-1.0000 -0.0000-0.0000 1.00001.0000 w2w2 = = 283.6905283.6905 v v = = 1.00181.0018 -0.7230-0.7230 1.00001.0000 w3w3 = = 524.8349524.8349 图形:图形: 00.20.40.60.811.21.41.61.82 -1 0 1 2 00.20.40.60.811.21.41.61.82 0 0.5 1 1.5 00.20.40.60.811.21.41.61.82 0 0.5 1 1.5

展开阅读全文

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值