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

📄 lsolve.m

📁 matlab实现矩阵卷积 matlab实现矩阵卷积
💻 M
字号:
function x = lsolve(A, b)
% x = lsolve(A, b) returns the solution to the equation Ax = b,
% where A is an n-by-b matrix and b is a column vector of
% length n (or a matrix with several such columns).
% Gaussian elimination with partial pivoting
[n, n] = size(A);
for k = 1 : n-1
% find index of largest element below diagonal in column k
max = k;
 
for i = k+1 : n
if abs(A(i, k)) > abs(A(max, k))
max = i;
end
end
 
% swap with row k
A([k max], :) = A([max k], :);
b([k max]) = b([max k]);
 
% zero out entries of A and b using pivot A(k, k)
A(k+1:n,k)=A(k+1:n,k)/A(k,k);
b(k+1:n)=b(k+1:n)-A(k+1:n,k)*b(k);
A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n);
%for i = k+1 : n
%alpha = A(i, k) / A(k, k);
%b(i) = b(i) - alpha * b(k);
%A(i, :) = A(i, :) - alpha * A(k, :);
%end
 
end
% back substitution
x = zeros(size(b));
for i = n : -1 : 1
j = i+1 : n;
x(i) = (b(i) - A(i, j) * x(j)) / A(i, i);
end

⌨️ 快捷键说明

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