⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fanmifa.m

📁 数值分析方法,主要里面涵盖了计算方法方面matlab程序!
💻 M
字号:
clear
clc
A=xlsread('data8_5.xls');
eps=1e-5;
KM=50;
k=0;
[m,n]=size(A);
nb=n+1;
u=ones(m,1);
Ab=[A,u];
r1=0;
while k<KM
    k=k+1;
    %LU分解
    Ab(2:m,1)=Ab(2:m,1)/Ab(1,1);
    for k=2:m
        for j=k:nb
            Ab(k,j)=Ab(k,j)-Ab(k,1:k-1)*Ab(1:k-1,j);
        end
        for i=k+1:m
            Ab(i,k)=(Ab(i,k)-Ab(i,1:k-1)*Ab(1:k-1,k))/Ab(k,k);
        end
    end
    v=zeros(m,1);
    v(n)=Ab(n,nb)/Ab(n,n);
    for k=n-1:-1:1
        v(k)=(Ab(k,nb)-Ab(k,k+1:n)*v(k+1:n,1))/Ab(k,k);
    end
    %等价于v=inv(A)*u;
    [r2,p]=max(abs(v));
    r2=v(p);
    u=v/r2;
    if(abs(r1-r2)<eps)
        break;
    end
    r1=r2;
    Ab=[A,u];
    r2
    v
    u
end
if k>=KM
    fprintf('The Method is disconvergent\n');
else
    fprintf('r=%f\n',r2);
    for i=1:m
        fprintf('x[%d]=%f\n',i,u(i));
    end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -