how to create this matrix [1 2 3 4 5;2 2 3 4 5;3 3 3 4 5;4 4 4 4 5;5 5 5 5 5]

31 views (last 30 days)
Waiting for your response
  1 Comment
John D'Errico
John D'Errico on 9 Feb 2018
Why is it starting to look as if you are asking homework questions? This is now your second question on how to create a basic matrix?

Sign in to comment.

Accepted Answer

Jos (10584)
Jos (10584) on 9 Feb 2018
Edited: Jos (10584) on 9 Feb 2018
% data
n = 7 % "order"
% engine
x = repmat(1:n,n,1)
x = max(x, x.')
Added after comment: for non-square matrices:
n = 4 ; m = 6 ; % n-by-m matrix
x = max(repmat(1:m,n,1), repmat(1:n,m,1).')

More Answers (3)

Andrei Bobrov
Andrei Bobrov on 9 Feb 2018
[x,y] = ndgrid(1:5)
out = max(x , y)
  3 Comments
Andrei Bobrov
Andrei Bobrov on 9 Feb 2018
@Stephen: Thank you, Stephen!
@Farooq Aamir:
m = 5; n = 8;
[x,y] = ndgrid(1:m,1:n);
out = max(x , y);

Sign in to comment.


Torsten
Torsten on 9 Feb 2018
Edited: Torsten on 9 Feb 2018
A = [1 2 3 4 5;2 2 3 4 5;3 3 3 4 5;4 4 4 4 5;5 5 5 5 5];
Best wishes
Torsten.

Benjamin Drewry
Benjamin Drewry on 9 Feb 2018
Well super brute force method, but it helps if you are just beginning to code
clear all; close all; clc
M=5; N=5; % can vary M and N to matrix of size of interest
% preallocate matrix space
concat_matrix=ones(M,N);
j=1;
for i=1:M
if i>N
concat_matrix(i, :)=concat_matrix(i-1,:)+1;
else
repval=ones(1,j).*j;
remains=[numel(repval)+1:N];
concat_matrix(i,1:N)=[repval remains];
j=j+1;
end
end

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!