请解释的工作,2日,3日和4日的声明这个编码部分:

4视图(30天)
i = 1: n
j = 1: n;
j (i) = [];
B = abs ((i, j));
检查(i) = abs((我)),和(B);
如果检查(i) < 0
流(“不严格对角占优矩阵行% 2我\ n \ n”,我)
结束
结束

接受的答案

约翰Chilleri
约翰Chilleri 2017年2月15日
你好,
这段代码检查给定矩阵的对角元素(假设n * n)更大的幅度比的大小之和分支元素的行。
逐行解释:
第一行循环通过所有的行。
i = 1: n
第二行是定义j = [1 2 3…n),所以一个向量包含1 . . n,
j = 1: n;
第三行是消除对角线元素,即,第i行这第i个列,删除我,我th元素,
j (i) = [];
第四行需要的所有元素的绝对值的i行,不包括对角元素:一个(i, j) = (i行、元素1,2,…,张,我+ 1,…,n)因为我们将第i个元素从j。
B = abs ((i, j));
第五行计算对角元素的绝对值减去所有其他元素的绝对值之和的行。如果检查是正的,我们知道对角元素的大小大于其他元素的大小的总和的行。
检查(i) = abs((我)),和(B);
第六行检查如果是小于零,在这种情况下,对角元素大小不大于或等于其他元素的大小的总和。
如果检查(i) < 0
如果是这种情况,不严格对角占优矩阵,第七行打印。
流(“不严格对角占优矩阵行% 2我\ n \ n”,我)
第八和第九行结束周期。
结束
结束
对不起,如果这是太多的细节,
希望这可以帮助!
3评论
约翰Chilleri
约翰Chilleri 2017年2月20日
初始化迭代次数为0:
迭代= 0;
继续进行迭代,直到Error_eval向量的最大值小于0.001
马克斯(Error_eval) > 0.001
增加每次迭代循环开始
迭代=迭代+ 1;
再计算向量X
Z = X;
i = 1: n
j = 1: n;
j (i) = [];
Xtemp = X;
Xtemp (i) = [];
X (i) = (C (i)和((i, j) * Xtemp)) /(我);
结束
存储这个迭代的X (X的所有存储方法足够小的错误)
Xsolution(:,迭代)= X;
从迭代计算误差X(这将决定是否继续while循环迭代)
Error_eval =√(X - Z) ^ 2);
while循环结束
结束
显示结果
% % % %结果
GaussSeidelTable =(1:迭代;Xsolution) '
矩阵= [X C]
希望这可以帮助!

登录置评。

更多的答案(0)

类别

找到更多的在循环和条件语句帮助中心文件交换

标签

没有标签了。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!