我有數據與字符time1,time2,time3直到time60。這意味着每一次都有自己的結果,例如time1=70
,time2=56
和等....如何,而不需要安排在矩陣這些數據來手動安排他們:在matlab中編程字符
time=[time1 time2 time3 time4 time5.......time60].
我不知道除了上述步驟。上述步驟需要更多時間才能輸入60個數據。有沒有最簡單的方法來安排這些數據?
我有數據與字符time1,time2,time3直到time60。這意味着每一次都有自己的結果,例如time1=70
,time2=56
和等....如何,而不需要安排在矩陣這些數據來手動安排他們:在matlab中編程字符
time=[time1 time2 time3 time4 time5.......time60].
我不知道除了上述步驟。上述步驟需要更多時間才能輸入60個數據。有沒有最簡單的方法來安排這些數據?
您可以在for-loop中使用eval
命令。
time = [];
for n = 1:60
eval(['time = [time, time', num2str(n), '];']);
end
你可以直截了當地做沒有一個環路
eval(['time=[' sprintf('time%d ',1:60) '];'])
然而,在未來,儘量不要命名變量time1
,time2
等相反,考慮在矢量存儲的值如time(1)=...
,time(2)=...
。這可以讓你的代碼更清潔,更少的變量混亂你的工作空間,可以利用MATLAB真正擅長的矢量化操作(這取決於你用它做什麼,但是......),如果你需要將值保存到MAT
文件,您只需要保存一個變量而不是60.
我也建議儘可能不要使用eval
,只有在無法避免的情況下(例如,使用其他人的代碼/數據)。
,或者至少將它們放在一個結構中,這實際上是一個關聯數組,並允許您按名稱查找元素。事實上,你可以使用'save('matfilename');明確; S = load('matfilename');'將變量從工作區移動到結構中。 –
@BenVoigt這並不能真正解決問題。首先,你保存_all_變量,而不僅僅是你想要的變量。其次,你仍然有'S.time1','S.time2'這樣的東西,它比OP已經有了更多的幫助...... – abcd
[從變量生成字段名稱](http://www.mathworks。 com/help/techdoc/matlab_prog/br04bw6-38.html#br1v5cc-1)或['getfield'](http://www.mathworks.com/help/techdoc/ref/getfield.html) –
>它確實可以工作,但是你非常喜歡聲音 – rina