我正在学习matlab。我想从更大的阵列创建一个更小的阵列。我知道如何用简单的列或行来做到这一点,但我迷失在m x n
数组/矩阵的命名法中。
原始矩阵= 10 x 9
mat_original=ones(10,9)
实际上,而不是使用所有..这可能更有意义..让我们使用mat_original = magic(10)
如何使用行5到8(所有列)创建组件矩阵?
mat_rows5to8 = mat_original[5 thru 8; :]
如何创建组件矩阵,比如列2到5,(所有行?)
mat_cols2to5 = mat_original[: ; 2 thru 5 ]
最后我将如何创建子组件数组...说第4行到第7行,第5列到第9列?
mat_small = mat_original[ 4 thru 7; 5 thru 9 ]
你怎么记得这个东西?
答案 0 :(得分:1)
当您拥有Google时,无需记住事情:Matrix Indexing in MATLAB。
您的问题的答案:
mat_rows5to10 = mat_original(5:8,:)
mat_cols2to5 = mat_original(:,2:5)
mat_small = mat_original(4:7,5:9)
换句话说:
output = input(<row_first>:<row_last>,<col_first>:<col_last>)