2015-05-11 47 views
-1

我寫了一段代碼,但是當我試圖改變變量schedule(2,:)時,它會給出錯誤。這裏的代碼:在Matlab中擴展的無與倫比的數組

clc;clear; 
a = [1 2 3 4]; 
N = 3; 
c=[1:12]; 
schedule(1,:) = kron(a,ones(1,N));% repeat 4 days 
schedule(2,:) = repmat([1 2 3],1,((numel(c)/length(a)))+1); % repeat time slots in each day %nums col rep 
schedule(3,:) = randperm(c(1,end)); % randomize 12 courses 
schedule 

我需要一種方法來匹配長度的計劃(2,:)與其他行。當其他行的長度爲20,進度(2,:)沒有建立超過20

+0

你的意思是「它不是標準」嗎? 'schedule(2,:)'你會假設多長?在matlab中,一個矢量總是有一個尺寸NxMxLx ...取決於尺寸。每個元素只能包含一個值或對象。 – patrik

+0

矩陣中每行的數組需要在Matlab中相同 - 如果我正確地得到您的問題。 – optimist

+0

您可能想要閱讀[matlab基礎知識](https://www.mathworks.com/help/pdf_doc/matlab/matlab_prog.pdf)以開始。如果你遇到麻煩,那很好。你不能指望Matlab像你習慣的語言一樣工作。 – patrik

回答

1
clc;clear; 





day = [1 2 3 4]; 
n=length(day); 
time=[1 2 3]; 
a=length(time); 
schedule(1,:) = kron(day(1):n,ones(1,a)); 
schedule(2,:) = repmat(time,1,n); 
schedule(3,:) = randperm(120,length(schedule(2,:))); 

schedule 

我已經完成了我的代碼我哈哈:)這是aflexible矩陣,並且可以接受awithout錯誤

任何改變