数值分析Matlab作业.docx

数值分析Matlab作业.docx

ID:59194912

大小:27.64 KB

页数:8页

时间:2020-09-10

数值分析Matlab作业.docx_第1页
数值分析Matlab作业.docx_第2页
数值分析Matlab作业.docx_第3页
数值分析Matlab作业.docx_第4页
数值分析Matlab作业.docx_第5页
资源描述:

《数值分析Matlab作业.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.对方程f(x)=0,先用二分法得到一个较好的初始解,再用牛顿迭代法求一个精度较高的解。一、Matlab编程1.先用二分法得到较好初始解symsx;fun=input('(输入函数形式)fx=');a=input('(输入二分法下限)a=');b=input('(输入二分法上限)b=');d=input('输入误差限d=')%二分法求根%f=inline(x^2-4*x+4);%修改需要求解的inline函数的函数体f=inline(fun);%修改需要求解的inline函数的函数体e=b-a;k=0;whilee>dc=(a+b)/2;iff(a)*f(c)<

2、0b=c;elseiff(a)*f(c)>0a=c;elsea=c;b=cende=e/2;k=k+1;endx=(a+b)/2;x%x为答案k%k为次数1.初始解作为初值,利用牛顿迭代法求精度较高的解function [x,k]=Newtondd(f,x0,e)%%牛顿迭代法,求f(x)=0在某个范围内的根。 %%f为f(x),x0为迭代初值(选用上述初始解),e为迭代精度,k为迭代次数 x_a=x0;x_b=x_a-subs(f,x_a)/subs(diff(f),x_a);k=1;while abs(x_a-x_b)>e,   k=k+1;   x_a=x_

3、b;   x_b=x_a-subs(f,x_a)/subs(diff(f),x_a);   end x=x_b;(x_b即为要求的精度更高的解)二、实例验证用二分法和牛顿迭代法分别计算方程sinx-=0的实根,精度为0.0001。1.二分法求解较好的初始解首先画出函数的关系图,可知x1=0,x2在1-1.5之间,即只需求解x2。用二分法如上程序计算方程的根,初始区间为[1,1.5]。可得x2=1.4044,迭代次数为13次。2.以上述初始解作为牛顿迭代法的初值,求解更高精度的解取初值x0=1.4044,计算高精度解,可得x=1.4058,迭代次数为5次。2.对非奇

4、异矩阵A,做A的Doolittle三角分解。(最好用紧凑形式,如有困难也可作通常的三角分解)一、Matlab编程clearallclcA=input('请输入一个方阵');%输入一个n阶方阵[n,n]=size(A);L=zeros(n,n);U=zeros(n,n);fori=1:n%将L的主对角线元素赋值1L(i,i)=1;endforj=1:n%求矩阵U的第一行元素U(1,j)=A(1,j);endfork=2:n%求矩阵L的第一列元素L(k,1)=A(k,1)/U(1,1);endfori=2:n%求L、U矩阵元素forj=i:ns=0;fort=1:i-

5、1s=s+L(i,t)*U(t,j);endU(i,j)=A(i,j)-s;endfork=i+1:nr=0;fort=1:i-1r=r+L(k,t)*U(t,i);endL(k,i)=(A(k,i)-r)/U(i,i);endend%输出矩阵L、ULU二、实例验证输入方阵A[102030;204580;3080171]进行了实例计算。计算结果如下图。该计算结果与实际分解结果相同,初步验证该算法可行。3.实现n+1个插值点的牛顿插值,对任意输入的x值,输出插值多项式的值。一、Matlab编程function[p2,z]=newTon(x,y,t)%输入参数中x,y

6、为元素个数相等的向量,t为待估计的点,可以为数字或向量。%输出参数中p2为所求得的牛顿插值多项式,z为利用多项式所得的t的函数值。n=length(x);chaS(1)=y(1);fori=2:nx1=x;y1=y;x1(i+1:n)=[];y1(i+1:n)=[];n1=length(x1);s1=0;forj=1:n1t1=1;fork=1:n1ifk==jcontinue;elset1=t1*(x1(j)-x1(k));endends1=s1+y1(j)/t1;endchaS(i)=s1;endb(1,:)=[zeros(1,n-1)chaS(1)];cl=

7、cell(1,n-1);fori=2:nu1=1;forj=1:i-1u1=conv(u1,[1-x(j)]);cl{i-1}=u1;endcl{i-1}=chaS(i)*cl{i-1};b(i,:)=[zeros(1,n-i),cl{i-1}];endp2=b(1,:);forj=2:np2=p2+b(j,:);endiflength(t)==1rm=0;fori=1:nrm=rm+p2(i)*t^(n-i);endz=rm;elsek1=length(t);rm=zeros(1,k1);forj=1:k1fori=1:nrm(j)=rm(j)+p2(i)*t(

8、j)^(n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。