看板 MATLAB 關於我們 聯絡資訊
大家好 最近在練習時想到一個問題及衍生問題如下 如何製造出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://www.ptt.cc/bbs/MATLAB/M.1437410564.A.76D.html
celestialgod: 寫成function 07/21 07:42
celestialgod: 另外給個不錯的方法 07/21 08:28
celestialgod: k=randi([2, 6], 100, 1); 07/21 08:28
celestialgod: mats=arrayfun(@(x)randi([0, 100], x), k, 'Unifor 07/21 08:30
celestialgod: mOutput', false); 07/21 08:30