网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月24日漏签0天
mathematica吧 关注:19,960贴子:74,293
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 14回复贴,共1页
<<返回mathematica吧
>0< 加载中...

大神求助,毕业设计

  • 只看楼主
  • 收藏

  • 回复
  • ZCNwant
  • Function
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
各位大神求解,我想用vb调用mathematica生成的dat或txt来画图,但是vb菜鸟,求各位大神帮忙,小弟感激不尽。


  • mm_酱
  • 刚刚会用
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
为啥要用vb画图啊


2026-04-24 03:51:45
广告
不感兴趣
开通SVIP免广告
  • ZCNwant
  • Function
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我想用vb做一个窗口,然后输入值,在mma里计算好了,再把图形化出来,直接在vb上显示。


  • 15999503
  • 还没搞定
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
大哥,你成功了吗?我现在也想用VB调用mma,但是好像没有接口还是组件,想问问该怎么弄!


  • xzcyr
  • 吧主
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
……12年过去,我还真能在一定程度上回答这个问题了。
首先需要指出的是,Mathematica是有.NET/Link的,所以如果你用的是Visual Basic .NET,那么按照自带帮助来大概就行了。(我自己没用过,所以容我加个“大概”。)
但是,我们谈及VB,一般都是指Visual Basic 6.0 (VB6),这就有点麻烦了。MMA.SE唯一相关的讨论似乎是《Mathematica Functions from VBA》(编号23864),可早在2016年,就有评论指出该帖下面唯一的答案似乎已经失效。那么,还有没有其他办法呢?我还真想到了一个,那就是,借用命令行(command line, cmd)作为中介:
Function run(str As String) As String
Dim myshell As New WshShell 'requires ref to Windows Script Host Object Model
run = myshell.Exec("wolframscript -code " & str).StdOut.ReadAll
End Function
在debug窗口中:
print run("Solve[x^2+2x+5==0]")
效果:

注意:
1. 我是在VBA下面做的测试,但VB6应该差不多。
2. 函数返回值是个字符串,你多半需要进一步对其进行处理。
3. 函数的速度稍微有点拉,但是至少可以跑。(疑似是因为WolframScript的启动速度太慢了,也就是说,如果不需要频繁调用此函数的话,性能问题应该不会太突出。)
4. 如注释所说,你需要到“工具“ -> ”引用”里把“Windows Script Host Object Model”给勾上。


  • liyajx
  • 列表操作
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我这里这样写:
run = MyShell.Exec("C:\Program Files\Wolfram Research\Mathematica\13.3\wolframscript.exe -code " & str).StdOut.ReadAll
否则出现:
运行时错误 '-2147024894 (80070002): 方法 'Exeo'作用于对象 'IWshShell3' 时失败.


  • liyajx
  • 列表操作
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
突发奇想我用这个:
Print run("Plot[Sin[x],{x,0,.1}]")
得到:
Graphics[
Annotation[{{{{}, {},
Annotation[{Directive[Opacity[1.],
RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[2]],
Line[{{2.040816326530612*^-9,
2.040816326530612*^-9}, {0.00003067179205596268,
0.00003067179205115355},......得到了图像各点的坐标


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 14回复贴,共1页
<<返回mathematica吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示