数值计算方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值计算方法

第二章作业 冬WEEK2 陈杨 3110100040 目录 1,问题叙述 1 2,问题分析 2 3,问题求解 2 (1)二分法: 2 (2)试位法 4 (3)不动点迭代法: 5 (4)Newton-Raphson法: 7 (5)割线法: 9 (6)不同方法的比较: 10 1,问题叙述 该梁的挠度曲线方程是: 其中,w0=2.5kN/cm, E=50000kN/cm2为弹性模量, I=30000cm4为转动惯量, L=600cm为杆长。请计算出该杆的最大挠度值。 (提示:杆最大挠度值在满足的x处达到) 2,问题分析 3,问题求解二分法: 观察图可知,该方程有2个解。x=600可能是其中的一个解。带入验证得f(x)=0.说明x=600确实为方程的一个解。根据挠度的物理含义,x=600时,由于该点被固定,所以弯曲变形时横截面形心沿与轴线垂直方向的线位移 tic; clc; l=600; f=@(x)5*x.^4-6*l^2*x.^2+l.^4; %定义要求解的函数 a=200;b=300;delta=5e-11; %定义上下界,容限为eps [c,err,yc]=bisect(f,a,b,delta); w0=2.5;e=50000;i=30000; g=@(x)-w0/(120*e*i*l)*(-x.^5+2*l^2*x^3-l^4*x); %计算最大挠度 feval(g,c); disp([c;err;yc;g(c)]); toc; 其中子函数bisect的代码如下: function [c,err,yc]=bisect(f,a,b,delta) %Input - f is the function input as a string f % - a and b are the left and right endpoints % - delta is the tolerance %Output - c is the zero % - yc= f(c) % - err is the error estimate for c ya=feval(f,a); yb=feval(f,b); if ya*yb0 error(invalid input); else max1=1+round((log(b-a)-log(delta))/log(2)); for k=1:max1 c=(a+b)/2; yc=feval(f,c); if yc==0 a=c; b=c; elseif yb*yc0 b=c; yb=yc; else a=c; ya=yc; end if (b-a)delta, break,end end end c=(a+b)/2; err=abs(b-a); yc=feval(f,c); end (2)试位法2.683281572999704e+002 误差err 0.000000000000455e+002 f(x)的值0.000034027099609e+002 挠度计算式g 0.005151900620160e+002 计算时间(s) 0.003562 迭代次数k 42 与二分法不同,每次区间的划分点不在中点,而是两区间函数值点连线与x轴的交点,递归地做这样的划分求解最终的结果。Matlab程序如下: clear; clc; x_l = 200; % the initial value of the left bound of x is 0 x_r = 300; % the initial value of the right bound of x is 1 x_c = x_r; % x_c is the cross point of the two bound-line and the x-axis x_t = 0; % x_t is the target ROOT of the eqation e_a = 5e-11; % the tolerance i = 0; % iteration tag l=600; f=@(x)5*x.^4-6*l^2*x.^2+l.^4; %define the function to be solved while (abs(x_t-x_c)e_a) x_t=x_c; %

文档评论(0)

kaiss + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档