matlab - 在 Matlab 或 Mathematica 中处理未知数量的变量
问题描述
我有一个算法可以为任何给定的 n 生成 n × n 矩阵 A。我的目标是使用 Matlab 或 Mathematica找到线性方程组 A x = 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 代码吗?
解决方案
推荐阅读
- python - 在列表中转换产量
- stripe-payments - 如何在 clojurescript 中使用条带?
- svg - tex-mml-svg.js:1 未捕获的错误:创建 MathJax SVG 时的未知节点类型“body”
- python - 当电脑使用 Python 启动时,从 .jpg 文件中打开 memes
- java - 尝试为应用程序的每个实例创建一个具有唯一名称的表
- python - 用于 Instagram 帖子的 CSS 选择器以及无法正常工作的评论
- html - Materialize - 自定义css没有效果
- angular - 将变量从 DOM 传递到 SCSS
- javascript - 使用 URLSearchParams 对象获取 - React
- nuxt.js - Nuxt:如何在生产中记录错误