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

📄 lu_pp_sl_fl.m

📁 DEMO_COND demonstrates the role of the condition number of a matrix (with respect to inversion)
💻 M
字号:
function [b, iflag] = lu_pp_sl_fl( A, b, ipivt, m, arith );% % LU_PP_SL   computes the solution of an N by N linear% system. The LU--decomposition with partial pivoting% of the system matrix A has to be computed by LU_PP_FL% before LU_PP_SL_FL is called. %% USAGE:%% function [b, iflag] = lu_pp_sl_fl( A, b, ipivt, m, arith )%% INPUT:%    A:     the LU-decomposition of  A  computed by lupiv%%    ipivt: pivot information for the LU-decomposition of  A  %           computed by lupiv%   %    b:     the right hand side b%%    m:     integer%           mantissa length% %    arith  string%           arith = 'c'   chopped arithmetic%           arith = 'r'   rounded arithmetic%%% OUTPUT:%    b:     the solution of the linear system if iflag = 0%%    iflag: error flag%           iflag = 0  The system could be solved. The solution%                      is returned in b.%           iflag = 1  dimensions of A and b do not match.%           iflag > 1  zero diagonal element of U%                      detected in row iflag+1%%  Matthias Heinkenschloss%  Department of Computational and Applied Mathematics%  Rice University%  Feb 22, 2001%%iflag = 0;% get size of A and check dimensions[nr,nc]    = size(A);if ( nr ~= nc | nr ~= size(b,1) )   iflag = 1;   returnendn = nr;% Solve L y = P b  ( b is overwritten by the solution ) for k = 1:n-1%  compute P_k b    l = ipivt(k);   if( k ~= l )        tmp  = b(k);       b(k) = b(l);       b(l) = tmp;   end%  compute M_k b     for i = k+1:n       tmp  = sflop( A(i,k), b(k), m, arith, '*' );       b(i) = sflop( b(i), tmp, m, arith, '+' );   endend% Solve U x = y  ( b is overwritten by the solution ) for k = n:-1:1    if ( A(k,k) == 0 )         iflag = k+1;         return    end    b(k) = sflop( b(k), A(k,k), m, arith, '/' );    for i = 1:k-1        tmp  = sflop( A(i,k), b(k), m, arith, '*' );        b(i) = sflop( b(i), tmp, m, arith, '-' );    endend

⌨️ 快捷键说明

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