0
我正在執行八度中的輸入輸出計算。我在公式中有幾個矩陣/向量:從八度矩陣計算中省略零
F = f' * (I-A)^-1 * Y
所有向量可能包含零。我想從計算中忽略它們,只是返回0。任何幫助將不勝感激!
米蘭達
我正在執行八度中的輸入輸出計算。我在公式中有幾個矩陣/向量:從八度矩陣計算中省略零
F = f' * (I-A)^-1 * Y
所有向量可能包含零。我想從計算中忽略它們,只是返回0。任何幫助將不勝感激!
米蘭達
你是什麼意思時,你說「忽略它們」?
如果要從一個矢量除去零可以做到這一點:
octave:1> x=[1,2,0,3,4,0,5];
octave:2> x(find(x==0))=[]
x =
1 2 3 4 5
的邏輯是:X == 0將測試x的每個元素(在本情況下,測試是,如果它等於零)並且將返回0和1的(0的矢量,如果所述測試是該元素假,否則爲1)
所以:
octave:1> x=[1,2,0,3,4,0,5];
octave:2> x==0
ans =
0 0 1 0 0 1 0
這一發現()函數將返回任何非的索引值零元素它的說法,因此:
octave:3> find(x==0)
ans =
3 6
然後你只是索引和刪除,當你做這樣的事情:
octave:5> x([3, 6]) = []
x =
1 2 3 4 5
但不是你查找()函數的輸出做(這在這種情況下
可以爲矩陣做同樣的矢量[3,6]):
octave:7> A = [1,2,0;4,5,0]
A =
1 2 0
4 5 0
octave:8> A(find(A==0))=[]
A =
1
4
2
5
則u選擇reshape()函數將其重新轉換爲矩陣。