找回密码
 注册
Simdroid-非首页
查看: 192|回复: 4

[图形图像] 怎样用一系列命令来运行 .nb 文件

[复制链接]
发表于 2011-12-12 22:58:50 | 显示全部楼层 |阅读模式 来自 上海
悬赏30仿真币未解决
大家好,我有 1.nb 文件,内容为 Plot[Sin[x], {x, 0, 6 Pi}]
在dos下 >1.nb 即可 启动 1.nb 文件。
但是我现在想在dos命令行下 运行( mathematica frontend 中用 shift enter) 1.nb 中的内容,让它绘图,然后保存1.nb,然后退出mathematica。
以上所有过程,怎样在dos下用一系列命令来完成?
求助高手解答,急,谢谢!

发表于 2011-12-13 13:55:48 | 显示全部楼层 来自 上海
Simdroid开发平台
本帖最后由 eigen 于 2011-12-13 14:00 编辑

首先把目录Wolfram Research\Mathematica\8.0\SystemFiles\Kernel\Binaries\Windows 加入到环境变量中去,然后编写如下文件test.m:


  1. Export["c:\\test1.gif",Plot[Sin[x], {x, 0, 6 Pi}]]
  2. Quit[]
复制代码
在dos下运行:
  1. math -noprompt -initfile test.m
复制代码

就可以生成图像文件test1.gif,并退出mathematica 回到dos了。

评分

1

查看全部评分

回复

使用道具 举报

发表于 2011-12-13 14:10:17 | 显示全部楼层 来自 上海
本帖最后由 eigen 于 2011-12-13 14:12 编辑

如果程序很短的话,可以直接在dos下运行:
  1. math -noprompt -run "Export["c:\\test1.gif",Plot[Sin[x],{x,0,6*Pi}]]; Quit[]"
复制代码
回复

使用道具 举报

发表于 2011-12-14 00:55:19 | 显示全部楼层 来自 台湾
1.m

  1. (* directory *)
  2. SetDirectory["~/downloads"];
  3. a=Plot[#*Sin[x],{x,0,Pi}]&/@Range[10]
  4. Do[a[[i]]>>>"2.nb",{i,10}]
  5. b=Plot[#*Cos[x],{x,0,Pi}]&/@Range[10]
  6. Do[b[[i]]>>>"2.nb",{i,10}]
  7. Exit[]
复制代码
math -run <1.m
回复

使用道具 举报

 楼主| 发表于 2011-12-14 22:34:55 | 显示全部楼层 来自 上海浦东新区
本帖最后由 weichanghe2000 于 2011-12-15 22:28 编辑

问题已经解决了,如下:
1. Needs["JLink`"];
$FrontEndLaunchCommand = "Mathematica.exe";
UseFrontEnd[
selected = Select[Notebooks[],
   CurrentValue[#, NotebookFileName] === "1.nb" &];
If[selected != {},
targetnotebook = First@selected;
SelectionMove[targetnotebook, All, Notebook];
SelectionEvaluate[targetnotebook];
];
Exit[]];
2. setlocal
PATH = C:\Program Files\Wolfram Research\Mathematica\8.0\;%PATH%
mathematica "C:\temp\plot demo\1.nb"
3. start MathKernel -noprompt -initfile "C:\temp\plot demo\runplot.m"
以上过程已经测试验证,供参考,谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 10:48 , Processed in 0.037555 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表