Hi. I am a complete novice at matlab and have been asked to create a 10x10 matrix in as few steps as possible. The first row has to be from 1:10, the second line from 2:11 and so on. How can I create this using repmat?

1 次查看(过去 30 天)
%this is the matrix I want to achieve
A = zeros(10)
A(1,:)=[1:10]
A(2,:)=[2:11]
A(3,:)=[3:12]
A(4,:)=[4:13]
A(5,:)=[5:14]
A(6,:)=[6:15]
A(7,:)=[7:16]
A(8,:)=[8:17]
A(9,:)=[9:18]
A(10,:)=[10:19]
%How can I achieve this using repmat, reshape or meshgrid and the colon
%operator?

采纳的回答

Fangjun Jiang
Fangjun Jiang 2019-2-21

更多回答(3 个)

Stephen23
Stephen23 2019-2-22
This uses meshgrid and plus as well (not sure if that is allowed):
>> [X,Y] = meshgrid(0:9,1:10);
>> X+Y
ans =
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10 11
3 4 5 6 7 8 9 10 11 12
4 5 6 7 8 9 10 11 12 13
5 6 7 8 9 10 11 12 13 14
6 7 8 9 10 11 12 13 14 15
7 8 9 10 11 12 13 14 15 16
8 9 10 11 12 13 14 15 16 17
9 10 11 12 13 14 15 16 17 18
10 11 12 13 14 15 16 17 18 19

madhan ravi
madhan ravi 2019-2-22
Honestly Fangjun Jiang's answer is the way I would do it but according to your question "How can I create this using repmat?" Which I think is a complete waste of time.
repmat(1:10,numel(1:10),1)+repmat((0:9).',1,numel(0:9))
  3 个评论
Sam Thorpe
Sam Thorpe 2019-2-22
Thank you all very much for your help. It is part of a task for a course which is terrible at teaching us the basics of using the software. The use of plus is allowed. It just asks us to use one of the three functions I specified and the colon operator but gave us no method of using them.

请先登录,再进行评论。


Jos (10584)
Jos (10584) 2019-2-22
编辑:Jos (10584) 2019-2-22
I think this is the only acceptable answer is, given all restraints:
A = reshape([1:10 2:11 3:12 4:13 5:14 6:15 7:16 8:17 9:18 10:19],10,10)
which does not use numel, tranpose (.'), semi-colons, and plus :-D
But wait a minute, ... is concatenation using square brackets acceptable or not ...

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by