Matlab高斯消除程序

时间:2015-05-08 00:23:24

标签: matlab

我在Matlab中寻找一个程序,它接受数字n,之后使用Matlab的高斯函数来求解系统Ax = b。这里A是nxn矩阵,随机数范围从0到1.B是nx1向量,随机数范围从0到1.

我来了一点,但我需要一些帮助。

首先,如何在A和b中严格区分0到1之间的数字?

第二个问题,我如何找到计算机解决Ax = b所需的时间。

并写出计算机在1分钟内解决系统的最大n。

第三个问题。如何修改代码,这样我就可以解决20个不同系统的问题?

function x = GaussElim(A,b)
n = size(A,1);
for k = 1:n-1
    pivot = A(k,k);
    for j = k+1:n
        factor = A(j,k)/pivot;
        A(j,k:n) = A(j,k:n) - factor*A(k,k:n);
        b(j) = b(j) - factor*b(k);
    end
end
x = zeros(n,1);
for k = n:-1:1
    x(k) = (b(k) - A(k,k+1:n)*x(k+1:n)) / A(k,k);
end

0 个答案:

没有答案