当我在Matlab中运行拉普拉斯扩展以获得行列式时,我确实得到了未定义函数或变量' A'""如果有人能帮助我纠正它并使其可行,我将很高兴。
function value = Laplace
A=input('matrix A =');
[rows, columns] = size(A);
if rows == 2
for i = 1:rows
value = A(1,1)*A(2,2) - A(1,2)*A(2,1);
end
else
if rows==3:size(A);
for i = 1:rows
columnIndices = [1:i-1 i+1:rows];
value = value + (-1)^(i+1)*A(1,i)*...*Laplace(A(2:rows, columnIndices));
end
end
谢谢
答案 0 :(得分:0)
以下是一种使代码可行的方法:
function value = Laplace(A)
if nargin < 1
n = input('Matrix dimention = ');
A = rand(n);
end
[rows, ~] = size(A);
value = 0;
if rows == 2
for i = 1:rows
value = A(1,1)*A(2,2) - A(1,2)*A(2,1);
end
else
if rows >= 3
for i = 1:rows
columnIndices = [1:i-1 i+1:rows];
value = value + (-1)^(i+1)*A(1,i)*Laplace(A(2:rows, columnIndices));
end
end
end
end
这并不意味着它应该做到它应该做的事情,我只修复了阻止它工作的所有错误,猜测这是什么意思。