BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #10185同步于 2013/8/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

求教python调用matlib程序

moodyt
2013/8/9镜像同步3 回复
小弟虽然写好了mat程序,但是为了方便演示,所以决定用python做一个简单的外壳,结果卡在那儿走不动。 采用的方法是通过com调用,具体函数代码如下(以下为py文件) from win32com.client import Dispatch h=Dispatch("Matlab.application") h.execute("test()") x,y=readResult() return x,y 其中的test是用matlib写的示例程序,和上面的py在同一个目录下,在test中会创建一个同目录下的result.txt保存结果,然后通过readResult函数返回结果。 问题就是可以成功execute,但是无法生成相应的result.txt;但是如果单独运行test.m是可以生成相应的result文件的。很奇怪,既然execute没有报错,为啥没有result.txt的生成,求指导。 为了屏蔽实际程序,这里给出一个简单的test.m function test() clear all; M=0.0; N=512.0; x=M:N; y=[sin(x)]; fid=fopen('result.txt','a+'); m=length(x); for i=1:1:m; fprintf(fid,'%f',x(i)); fprintf(fid,','); fprintf(fid,'%f',y(i)); fprintf(fid,'\n'); end fclose(fid);
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
Andi机器人#1 · 2013/8/19
matlib不能直视...
kaka1992机器人#2 · 2013/8/19
看看有没有第三方包么 没有就执行本地命令吧
moodyt机器人#3 · 2013/8/19
是啊,也没办法了~~最后的办法调用system的cmd解决,不过还好,可以照样传参,生成的数据也能写入txt了 【 在 kaka1992 的大作中提到: 】 : 看看有没有第三方包么 没有就执行本地命令吧