4
A
回答
0
這是 - 請注意,該代碼是不健壯。它假定每一行都有一個NaN
元素。
雖然它不是一個矢量化的解決方案,但它還有其他優點 - 就像一個明確的代碼。
for i=1:size(A,1)
x = A(i,:);
x(isnan(x)) = [];
B(i,:) = x;
end
乙
B =
1 2 3 4 5 6
6
A = [NaN 1 2 ; 3 NaN 4; NaN 5 6]
sz = size(A);
B = reshape(A', size(A,1)*size(A,2), 1);
B(isnan(B)) = [];
B = reshape(B, sz(2)-1, sz(1))'
+0
+1向量化。但同樣的警告 - 每行必須至少有一個nan。 – Marc
2
我想它可能在一個行完成,但我錯了。請參閱下面的解決方案:
鑑於(添加的行幫我調試下面我分度):
>> A = [NaN 1 2 ; 3 NaN 4; NaN 5 6; 7 8 NaN]
A =
NaN 1 2
3 NaN 4
NaN 5 6
7 8 NaN
然後:
>> Atrans = A';
>> B = reshape( Atrans(~isnan(Atrans)) ,[],size(Atrans,2))'
B =
1 2
3 4
5 6
7 8
順便說一句,執行簡單的邏輯檢查的Matlab的成語在邏輯索引操作中的數組上非常普遍且非常有用。原型示例如下:
>> x(x>0) %This returns a 1D column vector of all values of x
%which are greater than 0, regardless of the initial
%size of x. Multidimensional inputs are unwrapped
%column-first
上述其他一切都是尺寸和尺寸處理。
相關問題
- 1. 從矩陣中刪除特定元素
- 2. 刪除NA/NaN的/ INF在矩陣
- 3. 有效刪除矩陣元素
- 4. 如何從文檔術語矩陣中刪除NaN值
- 5. 從矩陣中刪除行
- 6. 從矩陣中刪除列
- 7. 從矩陣中刪除元素並計算平均值
- 8. 是否可以從matlab矩陣中刪除元素?
- 9. MATLAB:從所有矩陣元素中刪除分號
- 10. 從「完整」陣列中刪除元素
- 11. 從陣列中刪除元素
- 12. 從陣列中刪除元素:MongoDB
- 13. 從陣列原型中刪除元素
- 14. PHP:從陣列中刪除元素
- 15. Discord.js:從陣列中刪除元素
- 16. 從陣列matlab中刪除元素
- 17. 從陣列錯誤中刪除元素
- 18. Pymongo:從陣列中刪除元素
- 19. 矩陣與元素的矩陣元素
- 20. 從矩陣和位移值MATLAB刪除NaN值留下
- 21. 如何從4D MATLAB矩陣刪除元素
- 22. 矩陣元素
- 23. 從元素中刪除元素而不刪除元素後
- 24. 的java:刪除元素從後陣.split()
- 25. 從陣列的jquery刪除null元素
- 26. 從matlab中刪除矩陣中的零
- 27. 如何刪除3D矩陣中的零元素?
- 28. 在包含某些元素的矩陣中刪除行(python)
- 29. 如何在MATLAB中刪除矩陣的對角線元素?
- 30. 如何刪除matlab中矩陣的最後n個元素?
您確定,您的代碼確實,問題的要求是什麼? 'A(isnan(A))= []'返回'A'的列式數組。當應用'reshape'(注意'sz(A,。)'語法錯誤)時,它最終交換了第一行和第二行的第一個元素。 –
@ T.K。 ,謝謝,確實我有一個錯誤。我修好了它。 –