版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《MATLAB程序设计实践》课程作业一、用MATLAB编程实现“帕德逼近”的科学计算算法,及举例应用。1)帕德逼近算法说明如下:帕德逼近是一种有理分式逼近,逼近公式如下:大量实验表明,当L+M为常数时,取L=M,帕德逼近精确度最好,而且速度最快。此时,分子与分母中的系数可通过以下方式求解。首先,求解线形方程Aq=b,得到(…)的值,其中,,然后,通过下式求出的值。注意,函数的帕德逼近不一定存在。在MATLAB中编程实现的帕德逼近法函数为:Pade。功能:用帕德形式的有理分式逼近已知函数。调用格式:f=Pade(y,n)或f=Pade(y,n,x0)。其中,y为已知函数;n为帕德有理分式的分母多项式的最高次数;x0为逼近点的x坐标;f为求得的帕德有理分式或在x0处的逼近值。2)程序源代码如下:①在m文件中编写实现函数的Pade逼近的代码如下:functionf=Pade(y,n,x0)%用帕德形式的有理分式逼近已知函数%已知函数:y%帕德有理分式的分母多项式的最高次数:n%逼近点的坐标:x0%求得的帕德有理分式或在x0处的逼近值:fsymst;A=zeros(n,n);q=zeros(n,1);p=zeros(n+1,1);b=zeros(n,1);yy=0;a(1:2*n)=0.0;for(i=1:2*n)yy=diff(sym(y),findsym(sym(y)),n);a(i)=subs(sym(yy),findsym(sym(yy)),0.0)/factorial(i);end;for(i=1:n)for(j=1:n)A(i,j)=a(i+j-1);end;b(i,1)=-a(n+i);end;q=A\b;p(1)=subs(sym(y),findsym(sym(y)),0.0);for(i=1:n)p(i+1)=a(n)+q(i)*subs(sym(y),findsym(sym(y)),0.0);for(j=2:i-1)p(i+1)=p(i+1)+q(j)*a(i-j);endendf_1=0;f_2=1;for(i=1:n+1)f_1=f_1+p(i)*(t^(i-1));endfor(i=1:n)f_2=f_2+q(i)*(t^i);endif(nargin==3)f=f_1/f_2;f=subs(f,'t',x0);elsef=f_1/f_2;f=vpa(f,6);end3)算法实现流程图如下:开始开始定义变量,输入:定义变量,输入:symst;A=zeros(n,n);q=zeros(n,1);p=zeros(n+1,1);b=zeros(n,1);赋初始值,输入赋初始值,输入yy=0;a(1:2*n)=0.0No开始循环判断No开始循环判断i≤2nYesYesyy=diff(sym(y),findsym(sym(y)),n);yy=diff(sym(y),findsym(sym(y)),n);a(i)=subs(sym(yy),findsym(sym(yy)),0.0)/factorial(i);开始循环判断开始循环判断i≤nNoNoYesYesNo开始循环判断No开始循环判断j≤nq=A\b;q=A\b;p(1)=subs(sym(y),findsym(sym(y)),0.0);b(i,1)=-a(n+i)Yesb(i,1)=-a(n+i)YesA(i,j)=a(i+j-1)A(i,j)=a(i+j-1)No开始循环判断No开始循环判断j≤nYesYesp(i+1)=a(n)+q(i)*subs(sym(y),findsym(sym(y)),0.0)p(i+1)=a(n)+q(i)*subs(sym(y),findsym(sym(y)),0.0)f_1=0;f_1=0;f_2=1;No开始循环判断No开始循环判断2≤j≤i-1YesYesp(i+1)=p(i+1)+q(j)*a(i-j)p(i+1)=p(i+1)+q(j)*a(i-j)开始循环判断开始循环判断1≤j≤n+1NoNoYesYesf_1=f_1+p(i)*(t^(i-1))f_1=f_1+p(i)*(t^(i-1))开始循环判断1开始循环判断1≤i≤nNoNoYesYesf_2=f_2+q(i)*(t^i)f_2=f_2+q(i)*(t^i)对对nargin==3进行循环判断NoNoYesYes输出结果f=f_1/f_2;输出结果f=f_1/f_2;f=vpa(f,6)输出结果f=f_1/f_2;f=subs(f,'t',x0);结束结束4)用勒让德公式(取4项)逼近函数,并求当x=0.5时的函数值。源代码及运算结果如下:>>f=Pade('1/(1-x)',4)f=(1.+1.00060*t+.988095*t^2+.821429*t^3+2.92857*t^4)/(1.+.595238e-3*t-.119048e-1*t^2+.107143*t^3-.500000*t^4)>>f=Pade('1/(1-x)',4,0.5)f=2.0757实现流程图为:开始开始输入:f=Pade('1/(1-x)',4)输出结果,其形式为帕德有理分式调用帕德函数,分母最高次项为4次调用帕德函数,分母最高次项为4次,计算x=0.5时的逼近值输入:f=Pade(‘1/(1-x)’,4,0.5)输出结果,其形式为x=0.5时的逼近值结束二、求解工程问题,计算立柱的直径。已知:P=15kN,[σ]=35Mpa,l=0.4m1)建模:钻床受力图如下:llPPM=PlA钻床受力图AA立柱受力图A-A如图所示,钻床立柱受到拉力P和弯矩M=Pl的作用,立柱受到的拉应力之和为P与M的共同作用,其最大值σ(max)应小于许用拉应力[σ],即:σσ(max)=P/F+M/W≤[σ](1)其中,对于圆柱体而言,F=πd2/4为立柱截面积,W=πd3/32为抗弯系数,将FW带入(1)式后,可得:σσ=4P/πd2+32M/πd3≤[σ](2)化简上式,可得立柱直径d应满足:[[σ]πd3/32-Pd/8-Pl≥0(3)于是,该工程问题可以看作是单变量三次代数方程的求根问题!2)算法实现fzero函数:fzero函数用于求解单变量非线性方程根据(3)式的关系,将立柱直径d的系数项依次算出:[σ]=35*106MPa,P=15000N,l=0.4m,并带入到关系式中:在命令窗口输入:>>x=fzero('(35*10^6*pi)/32*x^3-(15000/8)*x-15000*0.4',[01])x=0.1219流程图为:开始开始调用fzero函数输入:x=fzero(f,x0)输出:区间[0,1]的根,x=0.1219m结束三、用MATLAB的符号解法,求解常微分方程:1:>>x=dsolve('D2x=(-2/t)*D1x+(2/(t^2))*x-(10*cos(ln(t)))/(t^2)','x(1)=1','x(3)=3')x=1/13*t*(28*tan(1/2*log(3))^2+1+9*tan(1/2*log(3)))/(1+tan(1/2*log(3))^2)-9/13/t^2*(6*tan(1/2*log(3))^2+3+tan(1/2*log(3)))/(1+tan(1/2*log(3))^2)-(3*tan(1/2*log(t))^2+2*tan(1/2*log(t))-3)/(1+tan(1/2*log(t))^2)>>t=[1.5,2,2.5]t=1.50002.00002.5000>>x=subs(sym(x),findsym(x),t)x=2.47762.83362.9391plot(t,x,'-r')流程图如下:x=x=dsolve('D2x=(-2/t)*D1x+(2/(t^2))*x-(10*cos(ln(t)))/(t^2)''x(1)=1','x(3)=3''x(1)=1','x(3)=3'x=x=?t=[1.5,2,2.5]x=subs(sym(x),findsym(x),t)t=[1.5,2,2.5]x=subs(sym(x),findsym(x),t)x=x=?plot(t,x,'-r')plot(t,x,'-r')2>>y=dsolve('D2y+(1/t)*Dy+(1-1/(4*t^2))*y=sqrt(t)*cos(t)','y(1)=1','y(6)=-0.5')y=1/4/t^(1/2)*sin(t)*(-240*cos(1)*sin(1)^4+160*cos(1)*sin(1)^6-210*sin(1)+1330*sin(1)^3-2240*sin(1)^5+1120*sin(1)^7+90*cos(1)*sin(1)^2-4+72*sin(1)^2-192*sin(1)^4+128*sin(1)^6-2*6^(1/2)*cos(1)-5*cos(1))/(5-20*sin(1)^2+16*sin(1)^4)/sin(1)-1/2/t^(1/2)*cos(t)*(-112*sin(1)^4+80*sin(1)^6-105*sin(1)*cos(1)-560*cos(1)*sin(1)^5+560*cos(1)*sin(1)^3+35*sin(1)^2-12*cos(1)-64*cos(1)*sin(1)^4+64*cos(1)*sin(1)^2-6^(1/2))/(5-20*sin(1)^2+16*sin(1)^4)+1/4*(t*cos(t)+sin(t)*t^2-sin(t))/t^(1/2)>>t=[2,3,4.5]t=2.00003.00004.5000>>y=subs(sym(y),findsym(y),t)y=0.9544-0.2187-2.7915plot(t,y,'-r')流程图如下:y=dsolve('D2y+(1/t)*Dy+(1-1/(4*t^2))*y=sqrt(t)*cos(t)',y=dsolve('D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《工程材料设计创新》教学大纲
- 玉溪师范学院《数值计算方法》2021-2022学年第一学期期末试卷
- 玉溪师范学院《人文科学概论》2021-2022学年第一学期期末试卷
- 2024年通讯检测仪器项目成效分析报告
- 2023年AOI光学检测系统项目成效分析报告
- 2023年室内清洁健康电器项目评价分析报告
- 草牧场承包合同书模板范文
- 彩石金属瓦施工合同
- 不正真利他合同
- 表格里合同到期日期的算法
- 小学语文中段整本书阅读的指导策略研究 中期报告
- 健身指导与管理职业生涯规划书
- 2023医保药品目录
- 工业互联网职业规划
- 2024年黑龙江省药品监督管理局直属事业单位招聘笔试冲刺题
- 癌症化疗病人心理护理课件
- 广州市小学数学学科第二届青年教师解题比赛初赛试题(答案)
- Unit3ConservationWritingWorkshop课件-高中英语北师大版选择性
- 软件项目管理学习心得体会(19篇)
- 粤教版科学三年级上册全册试卷(含答案)
- 工业金属管道工质量检验评定标准
评论
0/150
提交评论