假如要求解一个二元一次方程组,其中 x 和 y 为未知量,i 和 j 为参数:
已知i 和 j 为[1,5]之间的整数且 j ≤ i。现在要求 i 和 j 的不同取值组合下方程组的解,并将 {i, j, x, y} 存放在table里,最终将table导出为csv文件,可以参考以下代码:
finaltable = {{"i", "j", "x", "y"}};
For[i = 1, i <= 5, i++, For[j = 1, j <= i, j++,
solutions = FindRoot[{2 x + y == i, 3 x - 4 y == j}, {{x, 0}, {y, 0}}];
finaltable = Append[finaltable, {i, j, x /. solutions, y /. solutions}]]]
Export["D:\\finaltable.csv", finaltable]
因为FindRoot函数输出的内容是赋值形式,因此不能直接将solutions存放在table里,而应该先将 x 和 y 的值通过x /. solutions, y /. solutions 提取出来,再存放 x 和 y。
最终得到的csv长这样: