Chinaunix首页 | 论坛 | 博客
  • 博客访问: 257336
  • 博文数量: 45
  • 博客积分: 170
  • 博客等级: 入伍新兵
  • 技术积分: 488
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-13 14:43
文章分类

全部博文(45)

文章存档

2014年(2)

2013年(35)

2012年(8)

我的朋友

分类: C#/.net

2013-07-26 10:24:42

    当MATLAB系统在计算机上正确安装后,MATLAB计算引擎Active X组件将自动在系统注册。在Visual Studio .NET开发环境下使用MATLAB计算引擎,首先应添加COM应用“Matlab Application(Version 7.8)Type Library”。完成了MATLAB计算引擎组件的应用后就可以在程序中实例化引擎对象。
    如果出现“无法嵌入互操作类型“MLApp.MLAppClass”。请改用适用的接口。“错误,则把MLApp的嵌入互操作类型改为false。具体实现过程如下所示:

点击(此处)折叠或打开

  1. label1.Text = "实部: ";
  2. label2.Text = "虚部: ";
  3. MLAppClass matlab = new MLAppClass();
  4. double[,] prr = new double[3,4];
  5. prr[0,0] = 15;
  6. prr[0,1] = 11;
  7. prr[0,2] = 13;
  8. prr[0,3] = 14;
  9. prr[1, 0] = 0;
  10. prr[1, 1] = 1;
  11. prr[1, 2] = 2;
  12. prr[1, 3] = 3;
  13. prr[2, 0] = 2;
  14. prr[2, 1] =3;
  15. prr[2, 2] = 4;
  16. prr[2, 3] = 5;
  17. System.Array pi = new double[3,4];
  18. matlab.PutFullMatrix("a", "base", prr, pi);
  19. matlab.Execute("a=a");
  20. matlab.Execute("ss=mapminmax(a,0,1)");
  21. matlab.Execute("hsh=ss");
  22. System.Array prresult = new double[3,4];
  23. System.Array piresult = new double[3,4];
  24. matlab.GetFullMatrix("hsh", "base", ref prresult, ref piresult);
  25. for (int i = 0; i < prresult.GetLength(0); i++)
  26. {
  27.   for (int j = 0; j < prresult.GetLength(1); j++)
  28.   {
  29.     label1.Text += (prresult.GetValue(i,j) + ", ");
  30.   }
  31.   label1.Text += " ";
  32.  }
  33.  foreach (var item in piresult)
  34.  {
  35.    label2.Text += (item.ToString() + ", ");
  36.  }



阅读(3650) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~