作者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