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

📄 bslashtx.m

📁 有趣的可视的数值方法 出自网站http://www.mathworks.com/moler
💻 M
字号:
function x = bslashtx(A,b)% BSLASHTX  Solve linear system (backslash)% x = bslashtx(A,b) solves A*x = b[n,n] = size(A);if isequal(triu(A,1),zeros(n,n))   % Lower triangular   x = forward(A,b);   returnelseif isequal(tril(A,-1),zeros(n,n))   % Upper triangular   x = backsubs(A,b);   returnelseif isequal(A,A')   [R,fail] = chol(A);   if ~fail      % Positive definite      y = forward(R',b);      x = backsubs(R,y);      return   endend% Triangular factorization[L,U,p] = lutx(A);% Permutation and forward eliminationy = forward(L,b(p));% Back substitutionx = backsubs(U,y);% ------------------------------function x = forward(L,x)% FORWARD. Forward elimination.% For lower triangular L, x = forward(L,b) solves L*x = b.[n,n] = size(L);x(1) = x(1)/L(1,1);for k = 2:n   j = 1:k-1;   x(k) = (x(k) - L(k,j)*x(j))/L(k,k);end% ------------------------------function x = backsubs(U,x)% BACKSUBS.  Back substitution.% For upper triangular U, x = backsubs(U,b) solves U*x = b.[n,n] = size(U);x(n) = x(n)/U(n,n);for k = n-1:-1:1   j = k+1:n;   x(k) = (x(k) - U(k,j)*x(j))/U(k,k);end

⌨️ 快捷键说明

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