作者jatj ()
看板MATLAB
标题Re: [问题] 关於dos的指令
时间Wed Aug 13 09:29:23 2014
※ 引述《arthur3000 (Arthur)》之铭言:
: 大家好
: 想请问各位有关dos的指令
: 像是 dos('dfmod a.ind') % dfmod是模拟软体的执行 a.ind是档案
: 若把 cmd = 'dfmod a.ind'
: 再执行 dos(cmd) 这样也是OK没问题的
: 但是我程式需要在 dfmod a.ind 後面加上几个字 例如 n1=0
: 要执行 dfmod a.ind n1=0 % 进行模拟时将某块区域的n1设为零
: 我想要做的是如下:
: cmd = 'dfmod a.ind'
: x = 'n1=0'
: cmd = strcat(cmd,12,x)
% try this
for x = 1:n
cmd = sprintf('dfmod a.ind n1=%.0d', x);
dos(cmd);
end
% or this
for x = 1:n
cmd = ['dfmod a.ind n1=', int2str(x)]; % if x is an integer
dos(cmd);
end
% i recommend the first one
: dos(cmd)
: 这样却无法执行(会得到ans = 34,不知道是否为错误码)
: 在合并的过程好像出了问题
: 不然一定要手动输入 dos('dfmod a.ind n1=0') 才能执行
: 因为要用程式控制x,无法手动输入
: 不知道该如何解决呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 24.21.33.212
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1407893366.A.B94.html
※ 编辑: jatj (24.21.33.212), 08/13/2014 09:31:51
1F:→ arthur3000: Thanks for your help. My main purpose is 08/13 09:57
2F:→ arthur3000: generating command like 'dfmod a.ind n1=0 n3=0' 08/13 09:58
3F:→ arthur3000: or 'dfmod a.ind n1=0 n4=0'. Using x to control n1 08/13 09:59
4F:→ arthur3000: n2 n3 ... 08/13 09:59
5F:→ jatj: 可以再写清楚点吗?这样就用 switch x比较好点 08/13 10:30
6F:推 arthur3000: dfmod a.ind 的意思dfmod这个外部程式是执行a.ind档案 08/13 10:36
7F:→ arthur3000: 那在後面加上 n1=0 可以改变 a.ind档里面的参数n1变成 08/13 10:37
8F:→ arthur3000: 0 那我想用matlab来控制a.ind档里面有很多可以改的 08/13 10:38
9F:→ arthur3000: 参数 n2 n3 n4等等 08/13 10:38
10F:→ arthur3000: 问题已经解决了 转double合并就没问题了 08/13 10:48