作者zaffera ( )
看板MATLAB
标题[讨论] 制造出特定数量之随机方阵
时间Tue Jul 21 00:42:42 2015
大家好
最近在练习时想到一个问题及衍生问题如下
如何制造出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个方阵?
如何修改上述程式码,使得只需要指定方阵数目即可自动制造出如此数量之方阵?
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.49.37
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1437410564.A.76D.html
1F:推 celestialgod: 写成function 07/21 07:42
2F:→ celestialgod: 另外给个不错的方法 07/21 08:28
3F:→ celestialgod: k=randi([2, 6], 100, 1); 07/21 08:28
4F:→ celestialgod: mats=arrayfun(@(x)randi([0, 100], x), k, 'Unifor 07/21 08:30
5F:→ celestialgod: mOutput', false); 07/21 08:30