[讨论] 制造出特定数量之随机方阵

楼主: zaffera ( )   2015-07-21 00:42:42
大家好
最近在练习时想到一个问题及衍生问题如下
如何制造出3个随机方阵,且其需满足如下:
(1)最高6阶
(2)方阵内各元素阶为小于等于100之正整数
目前写法如下
k=randi([2,6],1,3); %先制造出3个2~6之乱数,这3个乱数将于下面分别指定方阵之阶
层数
a=randi([0,100],k(1,1),k(1,1)); %方阵一
b=randi([0,100],k(1,2),k(1,2)); %方阵二
c=randi([0,100],k(1,3),k(1,3)); %方阵三
但问题来了,若是题目改成100个随机方阵,那这样以上述写法
不就要a方阵、b方阵、c方阵...到共100个方阵?
如何修改上述程式码,使得只需要指定方阵数目即可自动制造出如此数量之方阵?
谢谢大家
作者: celestialgod (天)   2015-07-21 07:42:00
写成function另外给个不错的方法k=randi([2, 6], 100, 1);mats=arrayfun(@(x)randi([0, 100], x), k, 'UniformOutput', false);

Links booklink

Contact Us: admin [ a t ] ucptt.com