1、clear all;clc;A=1 1 1 1 1 1 1;2 1 1 1 1 1 1;3 2 1 1 1 1 1;4 3 2 1 1 1 1;5 4 3 2 1 1 1;6 5 4 3 2 1 1;7 6 5 4 3 2 1;b=7;8;10;13;17;22;28;n=length(A);IP=eye(n);U=zeros(n);L=eye(n);m,p=max(A(:,1);C1=b(1);b(1)=b(p);b(p)=C1;C2(1:n)=IP(1,:);IP(1,:)=IP(p,:IP(p,:)=C2(1:n);n)=A(1,:A(1,:)=A(p,:A(p,:U(1,:)=A(1,
2、:for k=2:n L(k:n,k-1)=A(k:n,k-1)/U(k-1,k-1); j=1; for i=k: S(j)=A(i,k)-L(i,1:k-1)*U(1:k-1,k); j=j+1; m,p=max(abs(S(:) ; C2(1:n)=A(k,1:A(k,1:n)=A(k+p-1,1:A(k+p-1,1:7)=C2(1:n)=IP(k,1:IP(k,1:n)=IP(k+p-1,1:IP(k+p-1,1:n)=C2(1: U(k,k:n)=A(k,k:n)-L(k,1:k-1,k: if k A(k+1:n,k)=A(k+1:n,k)-L(k+1:n,1: end disp(
3、L=disp(L);U=disp(U);IP=disp(IP);y=Lb;x=Uy;y=disp(y);x=disp(x);4、运行结果:列主元三角分解原理很简单,用MATLAB实现起来却不容易。对MATLAB还需要深入学习。实验三 SOR迭代法一、实验内容:采用SOR方法求解方程采用0向量为初始向量,迭代以结束,但迭代次数不操作1000次,松弛因子使用 其中,给出使用的各松弛因子及对应迭代次数。二、实验实现:1、程序代码如下:A= 10 -1 0; -1 10 -2; 0 -2 10;b=9;7;6;x0=0;0;0;e=10(-6);n=1000;x=x0;j=18;w=0.1*j; fo
4、r k=1: for i=1:length(b) x(i)=w*(b(i)-A(i,:)*x)/A(i,i)+x(i); if norm(x-x0)eps) J=J+1; h=h/2; x=a+h:2*h:b-h; R(J+1,1)=R(J,1)/2+h*sum(f(x); for K=1:min(3,J) R(J+1,K+1)= R(J+1,K)+( R(J+1,K)- R(J,K)/(4K-1); if(J3) err=abs( R(J+1,4)- R(J,4); S= R(J,4)实验七 数值积分实验内容利用改进Euler法,经典四级四阶Rung-Kutta方法求其数值解,:分别取h=0
5、.2,0.1,0.05时数值解。(注:初值问题的精确解) 1、改进Euler法x0=0;y0=1;xn=2;4*x./y-x.*yH=0.2 0.1 0.05;for j=1: h=H(j); n=(xn-x0)/h; x=x0;y=y0; y1=y+h*f(x,y); y2=y+h*f(x+h,y1); y=(y1+y2)/2; x=x+h; Y(j,i)=y; h Y(j,1:n) disp(_2、经典R-K方法 for i = 1: K1 = h*f(x,y); K2 = h*f(x+h/2,y+K1/2); K3 = h*f(x+h/2,y+K2/2); K4 = h*f(x+h,y+K3); y = y+(K1+2*K2+2*K3+K4)/6; x = x+h;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1