作者susuyumi (鈴弓)
看板MATLAB
標題Re: [程式] Matlab跟HLM的問題(與外部程式連結)
時間Tue Dec 20 01:46:56 2011
: ※ [本文轉錄自 Statistics 看板 #1E48K6IM ]
: [程式問題]:
: 我在使用Matlab產出100筆資料後,想要把這100筆資料丟入HLM軟體內作分析。
: 接著希望HLM分析出來的數據可丟回來Matlab作後續的分析。
前文刪除一部份
即使使用笨方法(按鍵精靈)來處理資料,仍舊是不太好的。
後來我改採用別的exe檔來試試看。
: 是不是可以用matlab撰寫一個自動控制的code,來外部操作HLM軟體呢?
先前我的問題是因為採用視窗介面的方式,用code來操作鍵盤介面的真的是很難。
後來有發現了HLM軟體裡面,是有dos介面的exe檔。
進入HLM2.exe之後,利用鍵盤輸入字串,並按下enter鍵來進行整個運算過程。
不過,因為這個HLM2.exe一次只能匯入一個資料檔 (ex: A1.txt) 來進行運算。
所以,我想問的是:
1.現在想透過matlab來執行以下動作:
system('C:\Program Files\HLM 6.02\HLM2.exe');
%呼叫HLM2.exe這個程式
'「輸入字串」、「按下enter」';
%設定一些參數
...
...
...
匯入資料檔; %會使用textread這個參數
「輸入字串」、「按下enter」以得到輸出的結果檔; %這邊是HLM2計算出的結果
擷取輸出結果的某些參數; %同樣使用textread來針對結果檔擷取
後續計算...
關於1.的部分,
粉紅色的內容是我不熟的,不知道版上的前輩們怎麼處理這種問題?
是要使用eval這個函數嗎?是否能提供一些例子呢?
2.以上是單次的運算結果,如果要進行批次、多次的運算的話,要怎麼作呢?
目前有想到的是在匯入資料檔的地方,把要匯入的檔案名稱用迴圈的程式碼來撰寫。
不過詳細的撰寫方式就不太清楚了...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.213.195
1F:推 Semisphere:要研究的重點是HLM2.exe有沒有吃command line參數 12/21 09:00
2F:→ Semisphere:有吃,就比照你之前幾篇所查到的方法直接給予參數 12/21 09:00
3F:→ Semisphere:沒吃,那就要自己發送鍵盤訊息過去,但這用其他程式語 12/21 09:07
4F:→ Semisphere:言可能比較快,畢竟資料比較多。 12/21 09:07