我正在 MATLAB 上开发一个迭代程序(解决 A x = b的 Jacobi 迭代方法),它允许我进行 N 次迭代。
到目前为止,我可以编写迭代代码,但我想改进结果的呈现方式。
我的程序的输出:
jacobi(A, b, 20); %N = 20 iterations
x
从左到右按迭代列的值(从 0 开始):
X =
第 1 至 9 列
0 3.4000 -0.0556 1.3848 1.0250 0.9300 1.0558 0.9813 1.0034
0 4.0000 0.8603 2.1810 2.0329 1.9030 2.0453 1.9826 1.9997
0 2.5000 4.5444 2.1023 3.3195 2.9782 2.9513 3.0402 2.9831
0 2.0000 5.3463 3.5175 4.0772 4.0612 3.9463 4.0266 3.9939
0 6.7778 3.8111 5.4106 4.9648 4.9366 5.0513 4.9777 5.0046
第 10 至 18 列
1.0026 0.9979 1.0011 0.9998 1.0000 1.0001 1.0000 1.0000 1.0000
2.0027 1.9977 2.0008 1.9998 1.9999 2.0001 2.0000 2.0000 2.0000
3.0035 3.0013 2.9984 3.0009 2.9998 3.0000 3.0001 3.0000 3.0000
3.9990 4.0022 3.9988 4.0004 4.0000 3.9999 4.0001 4.0000 4.0000
5.0015 4.9979 5.0011 4.9997 5.0000 5.0001 5.0000 5.0000 5.0000
第 19 至 21 列
1.0000 1.0000 1.0000
2.0000 2.0000 2.0000
3.0000 3.0000 3.0000
4.0000 4.0000 4.0000
5.0000 5.0000 5.0000
没关系,如果你们从来没有听说过这种方法,但我想知道,如果我要插入字符串,这样它就变成了
jacobi(A, b, 20);
从左到右按迭代列(从 0 开始)的 x 值:
X =
第 1 至 9 列
iteration
----------------------------------------------------------------------------------
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
----------------------------------------------------------------------------------
0 3.4000 -0.0556 1.3848 1.0250 0.9300 1.0558 0.9813 1.0034
0 4.0000 0.8603 2.1810 2.0329 1.9030 2.0453 1.9826 1.9997
0 2.5000 4.5444 2.1023 3.3195 2.9782 2.9513 3.0402 2.9831
0 2.0000 5.3463 3.5175 4.0772 4.0612 3.9463 4.0266 3.9939
0 6.7778 3.8111 5.4106 4.9648 4.9366 5.0513 4.9777 5.0046
等等,我到底该怎么做?
我正在考虑在循环中插入------ up
、i |
中间和------
下面以及迭代次数,让它生成尽可能多的 N 。
到目前为止,我在搜索中找到的最接近的例子是
arrayfun(@(x)sprintf('Hole %j',x), 1:18)','UniformOutput',false)
但是,我仍然不知道如何将这个想法融入我的代码中。这种输出在 MATLAB 中是否可行?
谁能帮我?提前致谢。
我正在学习关于 MATLAB 的课程,但是只有几个月的课程,我还没有学到很多东西。但我正在寻找挑战。