【问题标题】:What is the meaning of the following matlab notation?下面的matlab符号是什么意思?
【发布时间】:2020-05-15 03:22:48
【问题描述】:

我想用python写这个matlab代码但是我不知道LEV(1:n+1:n^2) = 0;或 LEV(i,:) 表示。谁能解释一下这个符号是什么?谢谢!

function A = ILU_p(A,p)

n = length(A);
LEV = inf(n);
LEV(find(A)) = 0;
LEV(1:n+1:n^2) = 0;  

for i = 2:n   
    for k = 1:i-1  
        if LEV(i,k) > p
            continue
        end
        A(i,k) = A(i,k) / A(k,k);
        A(i,k+1:n) = A(i,k+1:n) - A(i,k) * A(k,k+1:n);
        LEV(i,k+1:n) = min([LEV(i,k+1:n); LEV(i,k) + LEV(k,k+1:n) + 1]);
    end
    A(i,find(LEV(i,:)>p)) = 0; 
end

【问题讨论】:

    标签: matlab


    【解决方案1】:

    下面设置了要在索引中使用的值向量。如果 n=10 那么下面会产生一个行向量 [1 12 23 34 45 56 67 78 89 100]

    1:n+1:n^2
    

    由于 LEV 设置为 nxn 矩阵,并且上述行向量选取对角线元素,即 LEV(1) = LEV(1,1)、LEV(12) = LEV(2,2) 等.

    LEV(i,:) 是 MATLAB 用于引用第 i 行中所有列的简写。

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 2013-05-07
      • 2010-09-29
      • 2011-04-18
      • 2011-04-07
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多