回覆列表
  • 1 # 使用者1228436877168

    會影響的。用mean求均值時,如果矩陣中含有NaN,對應列的均值就是NaN。

    例:

    a =

    1 2 3

    NaN NaN 0

    ans =

    NaN NaN 1.5000

    以下修改能不讓NaN參與計算,但不一定是最優的。

    mean(a(find(isnan(a) == 0)));

    ans =

    1.5000

    但是這樣求出的是矩陣中所有非NaN元素的均值,而非矩陣每一列的均值。如果你想求矩陣每一列的均值,可以迴圈每一列,執行以上

    [hang lie] = size(a);

    for i=1:lie

    mean(a(find(isnan(a(:,i)) == 0),i))

    end

    .至於那個求方差的var好像只對向量能用,這裡就不列出,你可以參照以上試試。

  • 中秋節和大豐收的關聯?
  • 採用什麼方法可以杜絕乘坐火車逃票行為?