ImageVerifierCode 换一换
格式:DOC , 页数:27 ,大小:431.04KB ,
资源ID:9780242      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9780242.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(MATLAB程序设计实践课程考核.doc)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

MATLAB程序设计实践课程考核.doc

1、《MATLAB程序设计实践》课程考核 实践一、编程实现以下科学计算法,并举一例应用之。(参考书籍《精通MATLAB科学计算》,王正林等著,电子工业出版社,2009年) “最速下降法无约束最优化” 最速下降法: 解: 算法说明:最速下降法是一种沿着N维目标函数的负梯度方向搜索最小值的方法。 原理:由高等数学知识知道任一点的负梯度方向是函数值在该点下降最快的方向,那么利用负梯度作为极值搜索方向,达到搜寻区间最速下降的目的。而极值点导数性质,知道该点的梯度=0,故而其终止条件也就是梯度逼近于0,也就是当搜寻区间非常逼近极值点时,即:当▽f(a)→0推出f(a)→,f(a)即为所求。

2、该方法是一种局部极值搜寻方法。 函数的负梯度表示如下: -g(x)=-▽f(x)=- … 搜索步长可调整,通常记为αk(第k次迭代中的步长)。该算法利用一维的线性搜索方法,如二次逼近法,沿着负梯度方向不断搜索函数的较小值,从而找到最优解。 方法特点(1)初始值可任选,每次迭代计算量小,存储量少,程序简短。即使从一个不好的初始点出发,开始的几步迭代,目标函数值下降很快,然后慢慢逼近局部极小点。(2)任意相邻两点的搜索方向是正交的,它的迭代路径胃绕道逼近极小点。当迭代点接近极小点时,步长变得很小,越走越慢。(3)全局收敛,线性收敛,易产生扭摆现象而造成早停。 算法步骤:最

3、速下降法的基本求解流程如下: 第一步 迭代次数初始化为k=0,求出初始点的函数值f=f()。 第二步 迭代次数加1,即k=k+1,用一维线性搜索方法确定沿负梯度方向-的步长,其中=ArgMinaf()。 第三步 沿着负梯度方向寻找下一个接近最小值的点,其中步长为,得到下一点的坐标为:。 第四步 如果≈,且f()≈f(),那么就认为为所求的最小值点,并结束循环;否则,就跳到步骤二。 流程图: -g(x)=-▽f(x) 给定,e k=0 开始 。 :minf() = 结束 =ArgMinaf() k=k+1 是 否 题目:

4、 最速下降法求解无约束最优化问题实例。采用最速下降法求如下函数的最小值问题: f(x,y)=x(x-5-y)+y(y-4) 即用最速下降法求解函数的最小值问题。 解:需先求出该函数的梯度函数。可知其梯度函数为:g(x)=(2x-5-y,-x+2y-4)。 源程序代码如下: Opt_Steepest.m文件 %用最速下降法求最优化解; function [xo,fo]=Opt_Steepest(f,grad,x0,TolX,TolFun,dist0,MaxIter) %f:函数名; %grad:梯度函数; %x0:搜索初始值; %TolX:

5、最优值点间的误差阈值; %TolFun:函数的误差阈值; %dist0:初始步长; %MaxIter:最大的迭代次数; %xo:最优化点值; %fo:函数在点xo处的函数值。 %%%%%%判断输入的变量数,设定一些变量为默认值 if nargin<7 MaxIter=100; %最大的迭代次数默认为100 end if nargin<6 dist0=10; %初始步长默认为10 end if nargin<5 TolFun=1e-8;

6、 %函数值误差为1e-8 end if nargin<4 TolX=1e-6; %自变量距离误差 end x=x0; fx0=feval(f,x0); fx=fx0; dist=dist0; kmax1=25; %线性搜索法确定步长的最大搜索次数 warning=0; %%%%%迭代计算求最优解 for k=1:MaxIter g=feval(grad,x); g=g/norm(g);

7、求点x处的梯度 %%线性搜索方法确定步长 dist=dist*2; fx1=feval(f,x-dist*2*g); for k1=1:kmax1 fx2=fx1; fx1=feval(f,x-dist*g); if fx0>fx1+TolFun && fx1fx1

8、 x=x-dist*g;fx=feval(f,x); %确定下一点 break; else dist=dist/2; end end if k1>=kmax1 warning=warning+1; %无法确定最优步长 else warning=0; end if warning>=2||(norm(x-x0)

9、un) break; end x0=x; fx0=fx; end xo=x;fo=fx; if k==MaxIter fprintf('Just best in %d iteration',MaxIter); end Q1.m文件 f1004=inline('[x(1)*(x(1)-5-x(2))+x(2)*(x(2)-4)]','x'); %目标函数 grad=inline('[2*x(1)-5-x(2),-x(1)+2*x(2)-4]','x'); %目标函数的梯度函数 x0=[1 4];

10、 TolX=1e-4; TolFun=1e-9; MaxIter=100; dist0=1; [xo,fo]=Opt_Steepest(f1004,grad,x0,TolX,TolFun,dist0,MaxIter) 运行结果如下: 由计算结果可知,当x=4.6667,y=4.3333时,函数f(x,y)=x(x-5-y)+y(y-4)取得最小值-20.3333。 二.编程解决以下科学计算与工程实际问题。 简支梁受左半均匀分布载荷q及右边L/4处集中力偶M0作用(如下图1-1),求其

11、弯矩、转角与挠度。设L=2m,q=1000N/m,M0=900N*m,E=200*109N/m2,I=2*10-6m4. 图1-1 ①解题思路: 首先对简支梁进行受力分析,受力分析图(如下图1-2)所示: 图1-2 从材料力学的知识可知道,由弯矩求转角要经过一次不定积分,而由转角求挠度又要经过一次不定积分,通常这是很麻烦而且容易出错的,而在MATLAB中,可用cumsum函数或cumtrapz函数作近似的不定积分,只要x取得足够密,其结果将相当准确,而程序非常简单。 第一步:计算支反力 设支座a与b处的支反力分别为Na与Nb,则据∑Ma=0,∑Fy=0得到平衡方程为:

12、 Nb=(q*L^2/8+M0)/L Na=q*L/2-Nb 第二步:建立弯矩方程 以截面c,d为分界面,将梁划分为ac,cd,db三段 分别建立ac,cd,db三段对应的弯矩方程: M1=Na*x-q*x.^2/2; 0≦x≦L/2 M2=Nb*(L-x)-M0; L/2≦x≦3L/4 M3=Nb*(L-x); 3L/4≦x≦L 第三步:建立挠曲轴近似微分方程并积分 建立挠曲轴近似微分方程d2Y/dx2=M(x)/EI 对M/EI积分,得转角A,再做一次积分,得挠度Y,每次积分都有一个待定的积分常数。 A=∫(M)*dx/(E*I)+

13、Ca= A0(x)+Ca, 此处设A0(x)= cumtrapz(M)*dx/(E*I) Y=∫(A)*dx+Cy=∫A0(x) *dx+Ca*x+Cy,此处设Y0(x)=cumtrapz(A0)*dx 第四步:确定相应的积分常数 Ca,Cy由边界条件Y(0)=0,Y(L)=0确定 Y(0)= Y0(0)+Cy=0 Y(L)= Y0(L)+Ca*L+Cy=0 即[0 1;L 1] [Ca;Cy]=[-Y0(0);-Y0(L)] [Ca;Cy]=[0,1;L,1]\[-Y0(0);-Y0(L)]; 第五步:根据计算结果绘制弯矩、转角以及挠度图形

14、②源程序: L=2;q=1000;M0=900;E=200e9;I=2e-6; %输入已知参数 Nb=(q*L^2/8+M0)/L;Na=q*L/2-Nb; %求支反力 x=linspace(0,L,101);dx=L/100; %linspace是线性空间向量 M1=Na*x(1:51)-q*x(1:51).^2/2; %分三段用数组列出M数组 M2=Nb*(L-x(52:76))-M0; M3=Nb*(L-x(77:101)); M=[M1,M2,M3]; %写出完整的M数组 A0=cumt

15、rapz(M)*dx/(E*I); %由M积分求转角A Y0=cumtrapz(A0)*dx; %由转角积分求挠度Y C=[0,1;L,1]\[-Y0(1);-Y0(101)]; %由边界条件求积分常数 Ca=C(1),Cy=C(2), A=A0+Ca;Y=Y0+Ca*x+Cy; %A为转角,Y为挠度,求出转角与挠度的完整数值 subplot(3,1,1),plot(x,M),grid %绘制弯矩图形 subplot(3,1,2),plot(x,A),grid

16、 %绘制转角图形 subplot(3,1,3),plot(x,Y),grid %绘制挠度图形 ③ 运行结果: 开始 输入已知参数L,q,M0,E,I 求支反力Nb,Na使x=linspace(0,L,101),dx=L/100,划分x为空间线性向量 分三段用数组列出M数组,写出完整的M数组M=[M1,M2,M3] 由M积分求转角A,由转角积分求挠度Y (用cumtrapz积分),由边界条件求积分常数 求出转角和挠度的完整数值,A=A0+Ca;Y=Y0+Ca*x+Cy; 分别绘制弯矩,转角,挠度的图形 用subplot分别绘制弯矩

17、转角,挠度的图形并输出 输出积分常数Ca,Cy 结束 ④流程图: 第三题 流程图: 开始 输入已知的数据表作为样本;设置插值节点 针对不同的方法选用相应的函数及格式 将已知数据和插值节点代入 求得插值节点处的函数值 (1) A.正弦值算法: x=0:pi/12:pi/2; y=[0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000]; xi=0:pi/180:pi/2;%三次样条差值 yi=interp1(x,y,xi,'splin

18、e') %五次多项式拟合 A=polyfit(x,y,5); yj=polyval(A,xi) 运行结果: yi = Columns 1 through 11 0 0.0175 0.0349 0.0524 0.0698 0.0872 0.1045 0.1219 0.1392 0.1564 0.1737 Columns 12 through 22 0.1908 0.2079 0.2249 0.2419 0.2588 0.2756

19、0.2923 0.3090 0.3255 0.3420 0.3583 Columns 23 through 33 0.3746 0.3907 0.4067 0.4226 0.4384 0.4540 0.4695 0.4848 0.5000 0.5150 0.5299 Columns 34 through 44 0.5446 0.5592 0.5736 0.5878 0.6018 0.6157 0.6293 0.6428

20、 0.6561 0.6691 0.6820 Columns 45 through 55 0.6947 0.7071 0.7193 0.7313 0.7431 0.7547 0.7660 0.7771 0.7880 0.7986 0.8090 Columns 56 through 66 0.8191 0.8290 0.8387 0.8480 0.8571 0.8660 0.8746 0.8829 0.8910 0.8987

21、 0.9062 Columns 67 through 77 0.9135 0.9204 0.9271 0.9335 0.9396 0.9454 0.9510 0.9563 0.9612 0.9659 0.9703 Columns 78 through 88 0.9744 0.9782 0.9817 0.9849 0.9878 0.9904 0.9927 0.9946 0.9963 0.9977 0.9987 Co

22、lumns 89 through 91 0.9995 0.9999 1.0000 yj = Columns 1 through 11 0.0000 0.0174 0.0349 0.0523 0.0697 0.0871 0.1045 0.1218 0.1391 0.1564 0.1736 Columns 12 through 22 0.1908 0.2079 0.2249 0.2419 0.2588 0.2756 0.

23、2924 0.3090 0.3256 0.3420 0.3584 Columns 23 through 33 0.3746 0.3907 0.4067 0.4226 0.4384 0.4540 0.4695 0.4848 0.5000 0.5150 0.5299 Columns 34 through 44 0.5446 0.5592 0.5736 0.5878 0.6018 0.6157 0.6293 0.6428

24、0.6561 0.6691 0.6820 Columns 45 through 55 0.6946 0.7071 0.7193 0.7313 0.7431 0.7547 0.7660 0.7771 0.7880 0.7986 0.8090 Columns 56 through 66 0.8191 0.8290 0.8386 0.8480 0.8571 0.8660 0.8746 0.8829 0.8910 0.8988

25、 0.9063 Columns 67 through 77 0.9135 0.9205 0.9272 0.9336 0.9397 0.9455 0.9510 0.9563 0.9612 0.9659 0.9703 Columns 78 through 88 0.9743 0.9781 0.9816 0.9848 0.9877 0.9902 0.9925 0.9945 0.9962 0.9975 0.9986 Colu

26、mns 89 through 91 0.9994 0.9998 1.0000 通过比较,两种方法得到的结果近似相等。 B.正切值算法: x=0:pi/12:5*pi/12; y=[0 0.2679 0.5774 1.0000 1.7320 3.7320]; xi=0:pi/180:5*pi/12;%三次样条差值 yi=interp1(x,y,xi,'spline') %五次多项式拟合 A=polyfit(x,y,5); yj=polyval(A,xi) 运行结果: yi = Columns 1 through 11

27、 0 0.0184 0.0365 0.0545 0.0724 0.0902 0.1079 0.1255 0.1431 0.1607 0.1784 Columns 12 through 22 0.1961 0.2138 0.2317 0.2497 0.2679 0.2863 0.3048 0.3236 0.3427 0.3620 0.3817 Columns 23 through 33 0.4017 0.4221

28、 0.4429 0.4641 0.4858 0.5079 0.5305 0.5537 0.5774 0.6017 0.6266 Columns 34 through 44 0.6520 0.6780 0.7046 0.7317 0.7593 0.7876 0.8163 0.8456 0.8754 0.9058 0.9367 Columns 45 through 55 0.9681 1.0000 1.0325 1.0658

29、 1.1003 1.1364 1.1743 1.2145 1.2572 1.3028 1.3516 Columns 56 through 66 1.4041 1.4604 1.5211 1.5863 1.6565 1.7320 1.8131 1.9002 1.9936 2.0937 2.2008 Columns 67 through 76 2.3152 2.4374 2.5675 2.7060 2.8532 3.009

30、5 3.1752 3.3506 3.5361 3.7320 yj = Columns 1 through 11 -0.0000 0.0235 0.0454 0.0658 0.0850 0.1032 0.1206 0.1375 0.1540 0.1701 0.1862 Columns 12 through 22 0.2022 0.2183 0.2345 0.2511 0.2679 0.2851 0.3028 0.32

31、08 0.3394 0.3585 0.3781 Columns 23 through 33 0.3982 0.4188 0.4400 0.4616 0.4838 0.5065 0.5297 0.5533 0.5774 0.6020 0.6270 Columns 34 through 44 0.6524 0.6783 0.7047 0.7315 0.7588 0.7867 0.8150 0.8440 0.8736 0.

32、9039 0.9351 Columns 45 through 55 0.9670 1.0000 1.0341 1.0693 1.1060 1.1442 1.1841 1.2259 1.2699 1.3162 1.3652 Columns 56 through 66 1.4171 1.4723 1.5310 1.5935 1.6604 1.7320 1.8087 1.8910 1.9793 2.0742 2.1762

33、 Columns 67 through 76 2.2860 2.4040 2.5310 2.6677 2.8147 2.9727 3.1427 3.3253 3.5214 3.7320 通过比较知,角度较小时五次多项式算得的值较大,角度增大则两种方法得到的结果近似相等。 (2) %三次多项式插值 x=[1 4 9 16 25 36 49 64 81 100]; y=[1 2 3 4 5 6 7 8 9 10]; xi=1:100; f=interp1(x,y,xi,'cubic') 运行结果:

34、f = Columns 1 through 11 1.0000 1.3729 1.7125 2.0000 2.2405 2.4551 2.6494 2.8292 3.0000 3.1636 3.3186 Columns 12 through 22 3.4661 3.6069 3.7422 3.8729 4.0000 4.1237 4.2435 4.3599 4.4730 4.5832 4.6907 Columns 23

35、 through 33 4.7958 4.8988 5.0000 5.0993 5.1966 5.2921 5.3857 5.4777 5.5681 5.6570 5.7446 Columns 34 through 44 5.8309 5.9160 6.0000 6.0829 6.1647 6.2454 6.3249 6.4035 6.4810 6.5577 6.6334 Columns 45 through 55

36、 6.7082 6.7823 6.8556 6.9281 7.0000 7.0712 7.1416 7.2113 7.2804 7.3487 7.4164 Columns 56 through 66 7.4835 7.5500 7.6159 7.6812 7.7459 7.8102 7.8739 7.9372 8.0000 8.0623 8.1242 Columns 67 through 77 8.1855 8.2464

37、 8.3068 8.3668 8.4263 8.4854 8.5441 8.6024 8.6603 8.7178 8.7749 Columns 78 through 88 8.8317 8.8881 8.9442 9.0000 9.0555 9.1107 9.1655 9.2201 9.2744 9.3284 9.3821 Columns 89 through 99 9.4354 9.4884 9.5412 9.5935 9.6456 9.6973 9.7486 9.7996 9.8502 9.9005 9.9505 Column 100 10.0000 27 / 27

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服