c#,xp系统,Matlab6.5

编译环境:c#,xp系统,Matlab6.5

新建一个窗体项目,添加matlab引用。

然后试了四种方式调用matlab:

第一种

 

view plaincopy to clipboardprint?
  1. MLApp.MLAppClass matlab new MLApp.MLAppClass();  
  2. matlab.Visible 1;  
  3. matlab.Execute("figure(1)");  
 

第二种

 

view plaincopy to clipboardprint?
  1. MLApp.DIMLApp matlab null 
  2. Type matlabAppType System.Type.GetTypeFromProgID("Matlab.Application");  
  3. matlab System.Activator.CreateInstance(matlabAppType) as MLApp.DIMLApp;  
  4. matlab.Visible 1;  
  5. matlab.Execute("figure(2)");  
 

第三种

 

view plaincopy to clipboardprint?
  1. MLApp.MLApp matlab null 
  2. Type matlabAppType System.Type.GetTypeFromProgID("Matlab.Application");  
  3. matlab System.Activator.CreateInstance(matlabAppType) as MLApp.MLApp;  
  4. matlab.Visible 1;  
  5. matlab.Execute("figure(3)");  
 

第四种

 

+ expand sourceview plaincopy to clipboardprint?
     

    四种情况在本机上均可启动matlab

    然后把生成的程序copy到(包括Interop.MLApp.dll)

    1,xp系统,matlab2009a

    发现第一和第四种方式运行会报错,第二和第三种可以启动matlab。

    这MLApp.MLAppClass, MLApp.DIMLApp,MLApp.MLApp三者的区别我不晓得,杯具。

    2,win7系统,matlab2009a

    结果同1。

    编译环境:c#,win7系统,Matlab2009

    四种调用方式不变,在本机上均可运行

    然后把生成的程序copy到(包括Interop.MLApp.dll)

     

    1,xp系统,matlab6.5

    发现第一和第四种方式运行会报错,第二和第三种可以启动matlab。

    2,xp系统,matlab2009a

    四种情况在本机上均可启动matlab

    结论:为了避免matlab版本问题,最好使用第二和第三种方法。


    C#调用Matlab 引擎


      字号: 订阅

    在C#中调用Matlab, 需要先配置一下Matlab编译器, 然后在VS里面引用Matlab组件
    具体操作如下:

    在VS里面引用Matlab组件
    引用   .Net MWArray API (不是必须)
    引用Matlab Application Type Library


    using MathWorks;
    using MathWorks.MATLAB;
    using MathWorks.MATLAB.NET.Arrays;
    using MathWorks.MATLAB.NET.Utility;
    using MLApp;
    private void button1_Click(object sender, EventArgs e)
        {
            MLApp.MLAppClass matlab = new MLApp.MLAppClass();
            string command;
            command = "t=2:0.2:4*pi;y=sin(t);plot(t,y)";
          
            matlab.Visible = 1;         
            matlab.Execute(command);     // 执行Matlab命令
            command = @"print(gcf,   '-djpeg',   'c:\Test1')";     // 保存图片
            matlab.Execute(command);
            matlab.Quit();
            matlab = null;
            pictureBox1.Image = Image.FromFile(@"c:\Test1.jpg");   
        }


    以上网上转载的用c#调用matlab的另外一种方法,为什么用lm算法训练BP网络的代码运行时就不能跳出仿真图,换其他函数就都可以。各位高手帮忙指点下迷津。
    private void Form1_Load(object sender, EventArgs e)
        {
            MLAppClass matlab = new MLAppClass();
            string command = "P=[21 23;12 43;23 15;]" +
            "I=[12;23;45];" +
            "P=P';" +
            "I=I';" +
            "save data P I;" +
            "[Pn,minp,maxp,In,mint,maxt] = premnmx(P,I)" +
        
            "net=newff(minmax(Pn),[10,1],{'tansig', 'purelin'},'trainbr');" +
          
            "net=init(net)" +
            "net.trainParam.show=100; %两次显示之间的训练步数" +
            "net.trainParam.lr=0.3;%学习速率" +
            "net.trainParam.epochs=10000; %训练次数" +
            "net.trainParam.goal=0.000001;%训练目标" +
            "[net,tr]=train(net,Pn,In);" +
            "Inputweights=net.IW{1,1}" +
            "Inputbias=net.b{1}" +
            "Layerweights=net.LW {2,1}" +
            "Layerbias=net.b{2}"+
              "figure(gcf)";

            matlab.Visible = 1;
            matlab.Execute(command);
            matlab.Quit();
            matlab = null;
            }
      }

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388685.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    java script 对象

    java script 对象 1.创建方式 1)通过字面量的形式创建 例;var stt{x:1,y:2,y:3}; 或;var stt{ x:1, y:2, for:3 } 注意关键字必须放到引号中间 2)通过new创建对象 例:var new stt(); stt.name 小鱼; stt.age 20…

    认识数据分析_认识您的最佳探索数据分析新朋友

    认识数据分析Visualization often plays a minimal role in the data science and model-building process, yet Tukey, the creator of Exploratory Data Analysis, specifically advocated for the heavy use of visualization to address the limitations of numerical indi…

    架构探险笔记10-框架优化之文件上传

    确定文件上传使用场景 通常情况下,我们可以通过一个form(表单)来上传文件,就以下面的“创建客户”为例来说明(对应的文件名是customer_create.jsp),需要提供一个form,并将其enctype属…

    matlab飞行数据仿真,基于MATLAB的飞行仿真

    收稿日期: 2005 - 05 - 15   第 23卷  第 06期 计  算  机  仿  真 2006年 06月    文章编号: 1006 - 9348 (2006) 06 - 0057 - 05 基于 MATLAB的飞行仿真 张镭 ,姜洪洲 ,齐潘国 ,李洪人 (哈尔滨工业大学电液伺服仿真及试验系统研究所 ,黑龙江 哈尔滨 150001) 摘要:该…

    Windows Server 2003 DNS服务安装篇

    导读-- DNS(Domain Name System,域名系统)是一种组织成层次结构的分布式数据库,里面包含有从DNS域名到各种数据类型(如IP地址)的映射“贵有恒,何必三更起五更勤;最无益,只怕一日曝十日寒。”前一段时间巴哥因为一些生活琐事而中止…

    正则表达式matlab,正则表达式中一个word的匹配 @MATLAB - 优秀的Free OS(Linux)版 - 北大未名BBS...

    我目前想做的就是判断一个str是否可以被认为是有效的MATLAB index。最好的方法是直接运行,然后看运行结果或报错类型,但是我不打算在不知道是什么类型的东西之前运行它,所以可以预先parse一下,简单判断是否“长得跟有效的MATLAB i…

    arima模型怎么拟合_7个统计测试,用于验证和帮助拟合ARIMA模型

    arima模型怎么拟合什么是ARIMA? (What is ARIMA?) ARIMA models are one of the most classic and most widely used statistical forecasting techniques when dealing with univariate time series. It basically uses the lag values and lagged forecast error…

    jQuery禁止Ajax请求缓存

    一 现象 get请求在有些浏览器中会缓存。浏览器不会发送请求,而是使用上次请求获取到的结果。 post请求不会缓存。每次都会发送请求。 二 解决 jQuery提供了禁止Ajax请求缓存的方法: $.ajax({type: "get",url: "http://www.baidu.com?_&…

    python 实例

    参考 http://developer.51cto.com/art/201804/570408.htm 转载于:https://www.cnblogs.com/artesian0526/p/9552510.html

    [WPF]ListView点击列头排序功能实现

    [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了。微软的MSDN也已经提供了实现方式。微软的方法中,是通过ColumnHeader Templ…

    天池幸福感的数据处理_了解幸福感与数据(第1部分)

    天池幸福感的数据处理In these exceptional times, the lockdown left many of us with a lot of time to think. Think about the past and the future. Think about our way of life and our achievements. But most importantly, think about what has been and would be ou…

    标线markLine的用法

    series: [{markLine: {itemStyle: {normal: { lineStyle: { type: solid, color:#000 },label: { show: true, position:left } }},data: [{name: 平均线,// 支持 average, min, maxtype: average},{name: Y 轴值为 100 的水平线,yAxis: 100},[{// 起点和终点的项会共用一个 na…

    php pfm 改端口,罗马2ESF和PFM 修改建筑 军团 派系 兵种等等等很多东西的教程

    本帖最后由 clueber 于 2013-10-5 12:30 编辑本人是个罗马死忠加修改党,恩,所以分享一下自己的修改心得修改工具为ESF1.0.7和PFM3.0.3首先是ESF修改。ESF可以用来改开局设定和存档,修改开局设定是startpos.esf文件,在存档在我这里…

    红草绿叶

    从小到大喜欢阴天,喜欢下雨,喜欢那种潮湿的感觉。却又丝毫容不得脚上有一丝的水汽,也极其讨厌穿凉鞋。小时候特别喜欢去山上玩,偷桃子柿子,一切一切都成了美好的回忆,长大了,那些事情就都不复存…

    wpf listview 使用

    单列&#xff1a; <ListView Grid.Column"1" Height"284" HorizontalAlignment"Left" Margin"64,73,0,0" Name"listView1" VerticalAlignment"Top" Width"310" > <ListView.Items…

    php 获取当天到23 59,js 获取当天23点59分59秒 时间戳 (最简单的方法)

    原生Ajax 和Jq Ajax前言:这次介绍的是利用ajax与后台进行数据交换的小例子,所以demo必须通过服务器来打开.服务器环境非常好搭建,从网上下载wamp或xampp,一步步安装就ok,然后再把写好的页面放在服务器中指定的 ...『TCP&sol;IP详解——卷一&#xff1a;协议』读书笔记——1…

    詹森不等式_注意詹森差距

    詹森不等式背景 (Background) In Kaggle’s M5 Forecasting — Accuracy competition, the square root transformation ruined many of my team’s forecasts and led to a selective patching effort in the eleventh hour. Although it turned out well, we were reminded t…

    【转载】儒林外史人物——荀玫

    写在前面&#xff1a;本博客内容为转载&#xff0c;原文URL&#xff1a;http://blog.sina.com.cn/s/blog_9132ac5b0101iukw.html 说完周进&#xff0c;本应顺着说范进&#xff0c;但我觉得荀玫他们村的事情过于喜感&#xff0c;想先说荀玫。 荀玫简直是儒林中的某类标杆人物&am…

    WebM VP8 SDK Usage/关于WebM VP8 SDK的用法

    WebM是Google提出的新的网络视频格式&#xff0c;本质上是个MKV的壳&#xff0c;封装VPX中的VP8视频流与Vorbis OGG音频流。目前Firefox、Opera、Chrome都能直接打开WebM视频文件而无需其他任何乱七八糟的插件。我个人倒是很喜欢WebM的OGG音频&#xff0c;虽然在低比特率下不如…