【发布时间】:2018-12-07 02:12:49
【问题描述】:
我有一个算法可以为任何给定的 n 生成一个 n × n 矩阵 A。我的目标是使用 Matlab 或 Mathematica 找到线性方程组 Ax=0 的所有解。我先试试Matlab。
尝试 1:我不能使用“linsolve”,因为 A 可能是单数。我想要所有的解决方案。
尝试 2:使用solve(eqns, vars, 'ReturnConditions', true)。但是,如何将 Ax 变成方程形式?似乎我需要一个 for 循环来将方程放入“eqns”,但是如何定义符号变量 x1、x2、...、xn?一开始我不知道 n 的值。这是我的伪代码:
read (n);
for i=1:n %% i_th equation
eq=[];
for j=1:n
eq=eq+A[i,j]*x[j]; %% keep adding terms
end
eq=eq+['==0']; %% add '==0' to make it an equation
eqns=eqns+eq %% add the ith equation to the equation list
end
vars=[];
for i=1:n
vars=vars+x[i];
end
solve(eqns, vars, 'ReturnConditions', true)
你能帮忙把它变成真正的 Matlab 或 Mathematica 代码吗?
【问题讨论】:
标签: matlab variables wolfram-mathematica symbols