我在MatLab中創建了一個10 X 10矩陣A。矩陣中的所有值均爲0之間和100說我希望:MatLab中的矩陣操作
- 替換< 10的所有元件用零
- 替換A的所有elemtns> 90與無窮大
- 提取所有30到50之間的值賦予一個新的向量。
我可以在不寫腳本的情況下做到這一點嗎?我可以簡單地通過一些簡單的for循環腳本來做到這一點,但是有沒有可用的快捷鍵?任何幫助將不勝感激!
我在MatLab中創建了一個10 X 10矩陣A。矩陣中的所有值均爲0之間和100說我希望:MatLab中的矩陣操作
我可以在不寫腳本的情況下做到這一點嗎?我可以簡單地通過一些簡單的for循環腳本來做到這一點,但是有沒有可用的快捷鍵?任何幫助將不勝感激!
所有這些事情是很容易使用邏輯索引做:
上述各操作可以很容易地使用一個或兩個命令來實現。但是每個操作都必須獨立於另外兩個操作。你不能在一行中完成所有3個。
1.
smallIdx = A<10;
A(smallIdx) = 0;
% One Line Version
A(A<10) = 0;
2.
bigIdx = A>90;
A(bigIdx)=inf;
% One Line Version
A(A>90) = inf;
3.
middleIdx = A>30 & A<50;
newVector = A(middleIdx);
% One Line Version
newVector = A(A>30 & A<50);
新的向量是一個向量和不會成爲正方形狀A是
設置任何3×3矩陣a。編寫一些命令行語句以在以下各項上執行以下 操作: (a)交換列2和3; (b)添加第四列(0); (c)插入1行作爲a的新的第二行(即,向下移動當前的第二行和第三行 ); (d)刪除第二欄。
太棒了!非常感謝! – Kristian 2012-04-24 19:47:12