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

📄 les_iterative_sor1111.m

📁 雅克比迭代法 求Hilbert矩阵病态方程组
💻 M
字号:
clear;
n=input('n=');
x=hilb(n); y=ones(n,1);
z=x*y;
augm=[x z];
[m,l]=size(augm); 
for i=1:m              
    if augm(i,i)==0    
        k=i+1;         
        while augm(k,i)==0&k<=m
            k=k+1;
        end
        b=augm(i,:);  augm(i,:)=augm(k,:);  augm(k,:)=b;
    end
end
augm,                  
x(1,:)=zeros(1,l-1);   
n_rec(1)=0;
for k=1:20            
    error=0;
    n_rec(k+1)=k;
    for i=1:1          
        c=0;                            
        for j=1:l-1                        
            c=c+augm(i,j)*x(k,j);      
        end                              
        c=c-augm(i,i)*x(k,i);          
        x(k+1,i)=(augm(i,m+1)-c)/augm(i,i);
    end                                  
for i=2:m          
        c=0;                              
        for j=1:i-1                      
            c=c+augm(i,j)*x(k+1,j);        
        end                              
        for j=i+1:l-1                      
            c=c+augm(i,j)*x(k,j);      
        end                              
        x(k+1,i)=(augm(i,m+1)-c)/augm(i,i);
        error=error+abs(x(k+1,i)-x(k,i));
    end
    fprintf('Iterative No.=%3.0f,error=%7.2e\n',k,error),
    if error<0.00001  
        break
    end
end
x,  n_rec=n_rec';                
     

⌨️ 快捷键说明

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