Hi,
m = 3; c = [40,39,36,30,22,21]
I have to get the answer in matrixformat d= [40 39 36 ; 21 22 30] as my machine size m = 3
once the first row is over(3 elements are printed),remaining elements of c matrix has to be printed in reverse order as shown in second row of d matrix.
Advice me regarding

回答(1 个)

Reshape and fliplr will help you here:
m = 3;
c = [40,39,36,30,22,21,1,2,3,4,5,6]
result = reshape(c,m,[])'
result(2:2:end,:) = fliplr(result(2:2:end,:))
Note that there are some subtleties with how matrices are reshaped that are a result of the column-major nature of MATLAB. This is why the transpose is there. Read the reshape doc for more info
doc reshape

类别

在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

提问:

2012-2-23

编辑:

2013-10-23

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by