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]

조회 수: 19 (최근 30일)
Waiting for your response
  댓글 수: 1
John D'Errico
John D'Errico 2018년 2월 9일
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?

댓글을 달려면 로그인하십시오.

채택된 답변

Jos (10584)
Jos (10584) 2018년 2월 9일
편집: Jos (10584) 2018년 2월 9일
% 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).')

추가 답변 (3개)

Andrei Bobrov
Andrei Bobrov 2018년 2월 9일
[x,y] = ndgrid(1:5)
out = max(x , y)
  댓글 수: 3
Andrei Bobrov
Andrei Bobrov 2018년 2월 9일
@Stephen: Thank you, Stephen!
@Farooq Aamir:
m = 5; n = 8;
[x,y] = ndgrid(1:m,1:n);
out = max(x , y);

댓글을 달려면 로그인하십시오.


Torsten
Torsten 2018년 2월 9일
편집: Torsten 2018년 2월 9일
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 2018년 2월 9일
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

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by