数值计算课程matlab代码_第1页
数值计算课程matlab代码_第2页
数值计算课程matlab代码_第3页
数值计算课程matlab代码_第4页
数值计算课程matlab代码_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

A(:,j)表示矩阵A中第j列的所有元素;A(i,:)表示矩阵A中第i行的所有元素。ones(a,b)产生a行b列全1数组size:获取数组的行数和列数(1)s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。(2)工0]=5120仆)当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量。(3)如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或列数。其中r=size(A,1)该语句返回的时数组A的行数,c=size(A,2)该语句返回的时数组A的列数。积分:symsxC;int(f(x))+C 不定积分symsx;int(f(x),a,b) 定积分a^2:两个矩阵相乘a.^2:表示矩阵对应位置相乘norm(A)即为求A的二范数y=f(x)求导:1、diff(y)表示y对x求1次导数2、diff(y,n)表示y对x求n次导数3、diff(y,x,n)^^y对x求n次导数x=・.・A=[log(x)cos(x)exp(x)]列主元素高斯消去法function[x]=gaosixiaoqufa(n)fori=1:nforj=1:nA(i,j)=1/(i+j+1);endb(i)=log(i);endAr=[Ab'];fori=1:nforj=i:nifAr(i,i)<Ar(j,j)m=Ar(j,:);Ar(j,:)=Ar(i,:);Ar(i,:)=m;endendforj=i+1:nAr(j,:)=Ar(j,:)-Ar(j,i)/Ar(i,i)*Ar(i,:);endendfori=1:nforj=1:nA(i,j)=Ar(i,j);endb(i)=Ar(i,n+1);b=b';endfori=n:-1:1k=0;forj=i+1:nk=A(i,j)*x(j)+k;endx(i)=(b(i)-k)/A(i,i);endend追赶法functionx=LUzg(A,b)n=size(A,1);%size(a,1)为行数,size(a,2)为列数l(1)=A(1,1);u(1)=A(1,2)/l(1);fori=2:n-1v(i-1)=A(i,i-1)l(i)=A(i,i)-v(i-1)*u(i-1)u(i)=A(i,i+1)/l(i)endv(n-1)=A(n,n-1)l(n)=A(n,n)-v(n-1)*u(n-1)y(1)=b(1)/l(1)fori=2:ny(i)=(b(i)-v(i-1)*y(i-1))/l(i)endx(n)=y(n)fori=n-1:-1:1x(i)=y(i)-u(i)*x(i+1)end最小二乘法P=ployfit(x,y函数为最小二乘拟合函数各分量即为拟合的多项式的x,y为要拟合的数据,n为拟合的多项式的阶数,p为向量,各项系数。各分量即为拟合的多项式的雅可比迭代法function[x1,n]=yakebidiedai(A,b,tol,imax,p)x0=p;m=size(A,1);L=zeros(m);U=zeros(m);D=zeros(m);fori=1:mforj=1:iL(i,j)=-A(i,j);D(i,i)=A(i,i);endendU=-A+D-L;fori=1:imaxx1=DA(-1)*((L+U)*x0+b)ifi>1&min(abs(x1))-min(abs(x0))<tol%注意加绝对值比较,不然很容易出现错误break;endx0=x1;endn=i;endA=[2046;4208;6820];b=[10;-24;-22];p=[0;0;0];[x1,n]=yakebidiedai(A,b,10A(-5),100,p)复合梯形公式求数值积分function[IIt]=fuhetixing(f,a,b,n)symsxh=(b-a)/n;I0=h/2*(f(a)+f(b));I1=0;fori=1:n-1I1=I1+h*f(a+i*h);endI=I0+I1;It=int(f(x),a,b);endf=@(x)exp(x);[IIt]=fuhetixing(f,0,1,4)牛顿法解非线性方程function[x1]=newtonfa(y,g,b,tol,imax)x0=b;fori=1:imaxx1=x0-y(x0)/g(x0)ifi>1&(abs(x1)-abs(x0))<tolbreak;endx0=x1;endendsymsxyy=@(x)3*xA3-8*xA2-8*x-11;g=@(x)9*xA2-16*x-8;[x1]=newtonfa(y,g,3.5,10A-5,100)牛顿下山法解非线性方程function[x1]=newtonfa(y,g,b,tol,imax)x0=b;fori=1:imaxh=1;forn=1:100d=-y(x0)/g(x0);ifabs(y(x0+h*d))<abs(y(x0))break;elseh=1/(2An);endendx1=x0-h*y(x0)/g(x0);ifi>1&(abs(x1)-abs(x0))<tolbreak;endx0=x1;endendsymsxyy=@(x)3*xA3-8*xA2-8*x-11;g=@(x)9*xA2-16*x-8;[x1]=newtonxiashanfa(y,g,3.5,10A-5,100)欧拉公式求常微分方程初值问题function[xyys]=oula(h)symsxyf=@(x,y)-y+x+1;yt=@(x)x+exp(-x);y0=1;y=y0;n=1/h;fori=1:n-1x0=h*i;y1=y0+h*f(x0,y0);x(:,i)=x0;y=[yy1];y0=y1;endx=[x1];fori=1:nx0=h*i;y2=yt(x0);ys(:,i)=y2;end[xyys]=oula(0.1)plot(x,y,'o-')holdonplot(x,ys,'o-')预估校正公式求常微分方程初值问题function[xyys]=yugujiaozheng(h)symsxyf=@(x,y)-y+x+1;yt=@(x)x+exp(-x);y0=1;y=y0;n=1/h;fori=1:n-1x0=h*i;y1=y0+(h/2)*(f(x0,y0)+f(x0+h,y0+h*f(x0,y0)));x(:,i)=x0;y=[yy1];y0=y1;endx=[x1];fori=1:nx0=h*i;y2=yt(x0);ys(:,i)=y2;end[xyys]=yugujiaozheng(0.1)plot(x,y,'o-')holdonplot(x,ys,'o-')乘幂法function[v,c1]=chengmifa(A,p,tol,imax)v0=p;co=0;v=p;fori=1:imaxu1=A*v0;c1=max(abs(u1));v1=u1/c1;v=[vv1];ifi>1&(c1-c0)<tolbreak;endv0=v1;c0=c1;endendA=[133;213;336];p=ones(3,1);[v,c1]=chengmifa(A,p,10A(-5),2000)结合原点平移的反幂法function[v,c1]=eig(A,p,v0,tol,imax)m=size(A,1);B=A-p*eye(m);v=v0;u0=v0;fori=1:imaxu1=(BA(-1))*v0;v1=sign(u1(1))*u1/(max(abs(u1)))v=[vv1];c0=1/(sign(u0(1))*max(abs(u0)))+p;c1=1/(sign(u1(1))*max(abs(u1)))+p;ifi>1&abs(c1-c0)<tolbreak;endv0=v1;u0=u1;endendA=[-1233;31-2;3-27];v0=[1;1;1];[v,c1]=fanmifa(A,-13,v0,0.0001,1000)四阶R-K公式function[x,y]=RKfour(f,m,h,a,b)n=(b-a)/h;x(1)=a;y(1)=m;fori=1:n+1x(i)=x(1)+(i-1)*h;endfori=1:n+1k1=feval(f,x(i),y(i))k2=feval(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论