资源描述:
《数值计算课程matlab代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、A(:,j)表示矩阵A中第j列的所有元素;A(i,:)表示矩阵A中第i行的所有元素。ones(a,b)产生a行b列全1数组size:获取数组的行数和列数(1)s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。(2)[r,c]=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量。(3)如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或列数。其中r=size(A,1)该语句返回的时数组A的行数,c=size(A,2
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
3、=[Ab'];fori=1:nforj=i:nifAr(i,i)4、e(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,
5、n)函数为最小二乘拟合函数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=D^(-1)*((L+U)*x0+b)ifi>1&min(abs(x1))-min(abs(x0))6、较,不然很容易出现错误break;endx0=x1;endn=i;endA=[2046;4208;6820];b=[10;-24;-22];p=[0;0;0];[x1,n]=yakebidiedai(A,b,10^(-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,
7、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))