把值放在一个三角形的形式在一个矩阵

7视图(30天)
我想写一个代码如下:
说我的输入 “5” ,代码将运行和输出在一个矩阵形式
1 6 10 13 15
2 7 11日14
3 8 12
4个9
5
或者我的输入 “3”
1 4 6
2个5
3
任何想法我应该如何开始?

接受的答案

Hikaru
Hikaru 2014年8月11日
如果你想要一个矩阵,那么我不认为有一个方法在不增加0下部的三角形。下面的代码将工作。
n = 3;%的输入
一个=汉克尔(1:n);
c = (n, 1);
我= 2:n
j = 1: n - 1
(j, i) = c + 1;
c = c + 1;
结束
n = n - 1;
结束

答案(1)

帕特里克•埃克
帕特里克•埃克 2014年8月11日
编辑:帕特里克•埃克 2014年8月11日
试试这个,
n = 5;
A0 = fliplr (triu ((n)));
一个= cumsum (A0 (:));
一个=重塑(n, n);
(A0 < = 0) = 0
这个想法是创建一个上对角矩阵的翻转,然后积累的总和所有元素(在重塑一个列矩阵的元素 (:) )。这意味着增加之和为每个元素,代表在最后矩阵,而不是任何其他元素。然后再次重塑矩阵和设置所有元素不翻上对角0到0。

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!