C#引擎方式调用Matlab,每次都创建新的实例,而不是引用其他已存在的对象

问题描述

最近用C#调用Matlab引擎,因为两段M代码没有关联,想同时启动两个Matlab引擎同时执行,代码如下:MLApp.MLAppmatlab=null;MLApp.MLAppmatlab1=null;TypematlabAppType=System.Type.GetTypeFromProgID("Matlab.Application");matlab=System.Activator.CreateInstance(matlabAppType)asMLApp.MLApp;matlab1=System.Activator.CreateInstance(matlabAppType)asMLApp.MLApp;stringcommand;command="”;matlab.Execute(command);matlab1.Execute(command);问题来了,如果电脑后台进程存在Matlab,那么这段程序就不会创建Matlab的实例,而是直接引用到了已存在的对象,如果我想每次System.Activator.CreateInstance的时候都创建新的Matlab实例,应该怎么做?

解决方案

解决方案二:
你可以试试用不同的进程打开matlab的实例,会不会打开不同的实例。
解决方案三:
引用1楼BEYONDMA的回复:

你可以试试用不同的进程打开matlab的实例,会不会打开不同的实例。

这个试过,用不同的进程启动Matlab还是会引用到已存在的matlab对象。。。
解决方案四:
引用1楼BEYONDMA的回复:

你可以试试用不同的进程打开matlab的实例,会不会打开不同的实例。

版主救我

时间: 2024-07-29 16:11:45

C#引擎方式调用Matlab,每次都创建新的实例,而不是引用其他已存在的对象的相关文章

html-asp.net的两个问题, Process每次都打开新网页

问题描述 asp.net的两个问题, Process每次都打开新网页 后台执行cmd.exe,来调用beyond Compare,但是每次都会打开新网页还有想在后台将生成的report.htm打开,用frame,结果只得到2个白框, Process p = new Process(); p.StartInfo.FileName = @""cmd.exe""; p.StartInfo.UseShellExecute = false; p.StartInfo.Redir

在Eclipse中创建新的重构功能

创建 对重构的强大支持是软件开发人员喜爱Eclipse的一个最为重要的原因.而Eclipse还有一个至少和重构不相上下的优点,那就是其近乎无懈可击的可扩展性.这两者的结合意味着我们可以根据自己的需要来创建展新的重构功能. 介绍 重构在现代软件开发过程中扮演着重要的角色,它能够减轻软件开发人员的工作负担,提高软件开发的生产效率.为了阐明重构的重要性,我们在这里引用了developerWorks上David Carew提供的关于重构的教程中的一段话: 现在,一个开发者的工作大部分在于对现有的代码进行

link中发射调用的函数和直接调用的函数,创建的变量都是可移动的还是静止的?

问题描述 link中发射调用的函数和直接调用的函数,创建的变量都是可移动的还是静止的? link中发射调用的函数和直接调用的函数,创建的变量都是可移动的还是静止的? 解决方案 什么叫可移动的??- 解决方案二: 这哥们对linq走火入魔,地球人已经看不懂了

Relaxlife.Net缓存的应用,调用速度要比每次都要从数据库中读要快N陪(原版)精典-Wind

 Relaxlife.Net缓存的应用,调用速度要比每次都要从数据库中读要快N陪(原版)精典 缓存的应用,调用速度要比每次都要从数据库中读要快N陪(原版) <% Rem ================================================================= Rem = 类:CacheCls Rem = 说明:缓存的应用 Rem = Revision:1.01 Beta Rem = 作者:熊氏英雄(cexo255) Rem = Date:2005/05/

C#想问一下,在A窗体中通过按钮调用B窗体,B窗体每次都初始化,我想再次调用B窗体时显示的是我之前的操作结果,怎么解决啊

问题描述 就是再次调用时,保存的是上次的结果,求大神帮忙啊 解决方案 解决方案二:比较好的办法就是数据和UI分开.(即使)B窗体每次都初始化,它加载上次的数据,就能显示上次的结果.解决方案三:在A窗里面修改代码,将B窗声明为类变量,这样就不是每次都new它解决方案四:如果你B窗体不在其他地方使用,且又不想修改其他地方,那么最简单就是把你的结果定义为static,这仅是最偷懒的办法解决方案五:额...在A上定义静态变量第一次打开B窗体静态变量没值,打开B窗体后就先记录到静态变量里下次再打开B窗体时

VB调用Matlab在WEDM仿真系统中的应用

基于BP神经网络的电火花线切割(WEDM)工艺仿真系统需要具有工艺数据库管理 .工艺效果预测.加工参数优化等设计功能.借助Matlab的神经网络工具箱,可 以建立良好的工艺效果预测模型和参数优化模型,这正是工艺仿真软件最主要的 功能要求.VB是Windows操作系统下优秀的可视化编程工具软件,在用户界面设计 和快速开发等方面具有独特的优势.同时,Matlab仿真软件以其强大的科学计算 功能和开放式开发思想使其成为当前最为流行的仿真计算工具.综合两种开发环 境各自的优势,可采用VB与Matlab混

C++ Builder调用Matlab

Borland C++Builder是一种新颖的可视化编程语言.在工程应用中,我们一般用C++Builder语言编写应用程序,实现交互界面.数据采集和端口操作等,但C++Builder在数值处理分析和算法工具等方面,其效率远远低于Matlab语言.在准确方便地绘制数据图形方面,Matlab语言更具有无可比拟的优势.此外,Matlab还提供功能强大的工具箱.但Matlab的缺点是不能实现端口操作和实时控制.因此,若能将两者结合运用,实现优势互补,将获得极大的效益. 本文结合实际介绍了应用Borla

【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数

              本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 在我的上一篇文章[原创]Matlab.NET混编技巧之--找出Matlab内置函数中,已经大概的介绍了matlab内置函数在混合编程中的优点,并通过程序找出了matlab中的大部分内置函数,当然更多人关心是如何像我所说得那样,不用直接编译,就直接在C#中调用这些内置函数.本文就带你揭开这些谜团. 声明,这篇文章是需要

Matlab.NET混合编程技巧之——直接调用Matlab内置函数(附源码)

原文:[原创]Matlab.NET混合编程技巧之--直接调用Matlab内置函数(附源码) 在我的上一篇文章[原创]Matlab.NET混编技巧之--找出Matlab内置函数中,已经大概的介绍了matlab内置函数在混合编程中的优点,并通过程序找出了matlab中的大部分内置函数,当然更多人关心是如何像我所说得那样,不用直接编译,就直接在C#中调用这些内置函数.本文就带你揭开这些谜团. 声明,这篇文章是需要一点点混合编程基础的,基本概念和过程要懂一点,如果能简单成功混编一个简单的计算或者绘图例子