我只是想知道是否有一個乾淨的方式來存儲矩陣後每次迭代不同的名稱?我希望能夠以不同的名稱存儲每個矩陣(uMatrix),具體取決於我在Sim1,Sim2,...等等上的模擬。例如,在第一次運行後Sim1 = uMatrix,然後Sim2 = uMatrix第二次通過。所以每次我可以爲每個不同的仿真存儲不同的uMatrix。MATLAB每次迭代更改矩陣的名稱
任何幫助將不勝感激,並抱歉,如果這原來是一個愚蠢的問題。同樣在此代碼是否可以被清理的指針會太
代碼我使用下面
d = 2;
kij = [1,1];
uMatrix = [];
RLABEL=[];
SimNum = 2;
for i =1:SimNum
Sim = ['Sim',num2str(i)] %Simulation number
for j=1:d
RLABEL = [RLABEL 'Row','',num2str(j) ' '];
Px = rand;
var = (5/12)*d*sum(kij);
invLam = sqrt(var);
u(j) = ((log(1-Px))*-invLam)+kij(1,j);
uMatrix(j,1) = j;
uMatrix(j,2) = u(j);
uMatrix(j,3) = kij(1,j);
uMatrix(j,4) = Px;
uMatrix(j,5) = invLam;
uMatrix(j,6) = var;
end
printmat(uMatrix,'Results',RLABEL,'SECTION u kij P(Tij<u) 1/Lambda Var')
end
當我寫這個,感覺很熟悉。另請參閱:http://stackoverflow.com/a/14130366/931379進行類似的討論。 – Pursuit 2013-03-15 17:53:59
感謝您的意見。我很樂意接受你的建議,而不是使用EVAL功能。我使用Strucutre發現的唯一問題是MATLAB只是返回Sim1:[2x6 double] Sim2:[2x6 double],如果我想回頭查看矩陣的內容,現在有沒有辦法訪問這些數據對於Sim1或Sim2是? – Adam 2013-03-15 18:22:30
當然。我會在幾分鐘內將每種方法的訪問方法放在適當的位置。現在,試試:'simResults.Sim1';或'temp = simResults.Sim1';甚至是'names = fieldNames(simResults)',後面跟着'simResults。(names {1})''。 – Pursuit 2013-03-15 18:26:59