关于matlab与c#混合编程的问题
2012-06-06 00:45shulai1008 | 浏览 1573 次
在c#中输入相应的函数,如何把这个函数传递给matlab中的m文件,并且是按照函数来识别的
分享到: 2012-06-06 11:08
再不玩“疯狂攀岩”你就OUT啦!
提问者采纳
你是指,参数传递吧,怎么会有函数传递呢
以下代码,供你参考,涉及到参数转换和传递,不懂的再补充吧 using System;
using System.Collections.Generic; using System.Linq; using System.Text;
using MathWorks.MATLAB.NET.Arrays;//在MWArray.dll,最常用的 using MathWorks.MATLAB.NET.Utility;// 在MWArray.dll,最常用的 using test_erfc;// 我在matlab中采样deploytool编译成test_erfc.dll namespace erfccc {
class Program {
static void Main(string[] args) {
test_erfc.test_erfcclass E = new test_erfcclass(); Console.WriteLine(\输入x的值:\
int x = Convert.ToInt32(Console.ReadLine());
MWArray[] result = E.erfc(1, (MWArray)x); //第一个参数取决于你的erfc有几个返回参数
MWNumericArray r1 = (MWNumericArray)result[0];
double[,] location1 = (double[,])r1.ToArray(MWArrayComponent.Real); Console.WriteLine(location1[0, 0].ToString()); Console.ReadLine(); } } } 追问:
我的意思是如何将如sin(x)/x这样的表达式传递给matlab,完成从c#中输入表达式和积分上下限求积分的功能
追答:
这个我就不懂了,我也不知道能不能实现,
如果是将表达式在matlab代码中固定,在C#中只传积分上下限的话可以实现
追问:
嗯,那也还是谢谢你了
追答:
如果你的函数有限,建议你还是写在matlab程序里,通过整型参数来识别用哪个函数
Matlab和C#混合编程
作者: gxyfish (站内联系TA) 发布: 2013-11-14
在实验室算法演示和工程应用中存在这样的困惑:
1. Matlab精通各种数值计算和算法,但是没有优美的界面,更不用说对数据库访问操作。 2.Visual studio(C#)拥有完美的界面编程,窗口或网络编程已经优越的数据库访问等优势。 -------------------------------------------------------------
3. 国外有一本书叫:MATLAB C# Book图书(已经放到压缩包中了),看过以后收获不少。 4. 结合各种材料,我使用visual studio 2012+ matlab 2013a实现了从 Winfrom调用Matlab命令行绘图
Winfrom调用 .m文件编译的dll并在webBrowser中显示结果
调用Matlab命令demo
调用Dll demo
解决方案结构