给定任意数字。比方说,例如5
,我需要生成一个类似的矩阵:给定一个数,用MATLAB生成一系列'L'形矩阵
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
如何产生类似这样利用Matlab矩阵?
给定任意数字。比方说,例如5
,我需要生成一个类似的矩阵:给定一个数,用MATLAB生成一系列'L'形矩阵
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
如何产生类似这样利用Matlab矩阵?
没有什么可以打败bsxfun
as used by Luis Mendo,而是提醒人们着想Matlab的gallery
函数的存在,这里另一种方法:
n = 5;
A = gallery('minij',n)
B = n + 1 - A(end:-1:1,end:-1:1)
A =
1 1 1 1 1
1 2 2 2 2
1 2 3 3 3
1 2 3 4 4
1 2 3 4 5
B =
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
谢谢你让我知道一个新的功能。 :) –
不错! 'gallery'函数确实可以生成许多不同的矩阵 –
这里最好使用'bsxfun'! – Divakar
非常好:)在发布这个问题之前,我应该努力工作。 –