作者benny5116 (班尼5116)
看板MATLAB
標題[問題] 資料名稱不同如何讀取改名稱
時間Fri Mar 27 15:54:15 2015
as title
現在workspace裡頭有好幾筆資料
ex
這邊共26組有依照順序排列
qqq1aa,qqq1bb,qqq1st,qqq1mm
qqq2aa,qqq2bb,qqq2st,qqq2mm
.
.
.
qqq26aa,qqq26bb,qqq26st,qqq26mm
還有數字不是按順序的41組如
L20aa,L20bb,L20st,L20mm
L84aa,L84bb,L84st,L84mm
.
.
.
這種數字名稱非依順序排列的
要如何讓以上這些資料
重新改名後輸入到我要的程式當中執行
例如將
qqq1aa改為a1
qqq1bb改為b1
qqq1st改為c1
qqq1mm改為d1
然後在程式當中執行a1 b1 c1 d1的計算
目前以26那幾組的想法是
for i=1:26
將原名稱改名
改名後執行程式
將此計算後資料儲存
end
但迴圈當中不知道要如何去更改名稱
因為我的名稱是qqq數字加aa、bb、st、mm
如果名稱後面單純只有數字應該很好改
但目前是文字+數字+文字
就不知道該如何下手...
還有那些LXX的數值也不知道要如何以上面那種方式去改
有請各位大大高手們幫忙了!!
--
Sent from my Nokia 3310
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.25.118.240
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1427442859.A.0EC.html
大大你太神拉~
不過剛剛我試著執行
可以成功讀取我那些資料沒錯
不過不太懂eval後面的ii-j這意思是?
我想說可不可以將其改名後在我程式當中執行
例如我的程式當中有這4個值aa bb st mm
是要在程式當中執行的
是否可以透過你這方式
將其4個名稱改為aa bb st mm 在程式當中計算完畢
例如
第一次將
qqq1aa名稱改為aa
qqq1bb名稱改為bb
qqq1st名稱改為st
qqq1mm名稱改為mm
計算完後
然後讀取下一組
qqq2aa qqq2bb qqq2st qqq2mm
但不知該從哪邊去改...
※ 編輯: benny5116 (163.25.118.240), 03/27/2015 16:49:38
→ celestialgod: 可是你第二組要改啥? 03/27 16:55
→ celestialgod: 現在的方式是根據數字做suffix 03/27 16:55
很抱歉我沒說清楚我的問題
就第一組資料都改為aa bb st mm
然後執行計算我會在得到一組值
(這才是我最後要存起來的
只是我把aa bb st mm拿來在程式中做計算)
然後第二組qqq2aa bb st mm
都一樣改為只有aa bb st mm
這樣的形式,然後一樣帶入程式做計算
在得到一組值存起來這樣依此類推
※ 編輯: benny5116 (120.126.8.124), 03/27/2015 17:13:06
→ celestialgod: 這個case跟你一開始要的不太一樣吧... 03/27 17:14
→ celestialgod: 可能要另外寫吧 03/27 17:15
大大抱歉!
我前面文章說明的可能不太正確
真的很感激您的協助!!
※ 編輯: benny5116 (120.126.8.124), 03/27/2015 17:22:41
→ celestialgod: 你可能需要用strfind一次找到你要的四個variable 03/27 17:24
→ celestialgod: 然後再用eval轉成你要的值做計算 03/27 17:24
→ celestialgod: 或是乾脆把那些值通通丟到一個cell,迴圈做 03/27 17:25
感謝大大的方法
我去看看strfind要怎麼做,謝謝您!!
※ 編輯: benny5116 (120.126.8.124), 03/27/2015 17:32:51
想再請教那些沒按順序的41組也是一樣用strfind就可以了嗎?
※ 編輯: benny5116 (120.126.8.124), 03/27/2015 17:38:05
→ celestialgod: 對 03/27 17:58