用VC做一个界面,从这个界面输入数据,将这些数据传给Matlab 让Matlab在后台运行,然后将计算结果返回到VC

具体使用什么方法要怎么做VC输入数据及设定的参数用MATLAB编程进行计算将计算的结果再在VC上显示出来VC的界面如何输入和显示能具体一些吗谢谢... 具体使用什么方法 要怎么做
VC输入数据 及设定的参数
用MATLAB 编程 进行计算
将计算的结果再在VC上显示出来
VC的界面 如何输入和显示 能具体一些吗 谢谢
展开
 我来答
wpp199197
2011-06-02
知道答主
回答量:13
采纳率:0%
帮助的人:7.6万
展开全部
用engine的方法,,其他的几种方法比较局限,,,我就是这么做的,,
这几天正在写这方面的论文,,这是其中的几句关键
每个函数的具体用法如下:
1、GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10); 将ID为IDC_EDIT1的编辑框控件里的输入转化为数组ch1[10];
2、GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);将数组ch3的元素组成的数据显示在ID为IDC_EDIT3的编辑框里;
3、memcpy((char *) mxGetPr(M),(char *) A,2*sizeof(double));将vc中的数组A放入内存中赋给M(M初始化为M = mxCreateDoubleMatrix(m, n, mxREAL);即内存中的m×n的数组)
4、engPutVariable(ep,"z",M);将内存中的M读取进入matlab的workspace赋给Z;
5、M=engGetVariable(ep,"x"); 将matlab中workspace中的数组X传给内存中的M;
6、memcpy((char *) A,(char *) mxGetPr(M),2*sizeof(double));将内存中的数组M传给vc中的数组A;
追问
vc MFC调用matlab函数能不能脱离matlab运行
追答
这个调用engine的方法不能,但是正是这样也使得这个方法更加的全面些,本身各种运算方法就是根据不同的输入而实时变化的,如果脱离的话,可能会有些局限性吧!
yongw8888
2011-06-02
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
#include "engine.h"

//从VC界面获取参数值 如:a b c d ...

//在此举个简单的例子,从VC界面取得a,b两个数,利用matlab算 a+b

Engine *ep;
ep = engOpen(NULL);//开启matlab计算引擎
//----------------------------------------------

//构造matlab程序
char m[255] = {0};
sprintf(m, "a = %f; b = %f; c = a + b;", a, b);

//执行上面的matlab程序
engEvalString(ep, m);

//获取计算结果
mxArray *c = engGetVariable(ep, "c");

double *p = mxGetPr(c);//p[0]即为a+b的结果

将p[0]的值显示在VC界面上。

mxDestroyArray(c);//释放内存

//----------------------------------------------
engClose(ep);//关闭matlab引擎

//----------------------------------------------
//注:额外需要的matlab头文件、库文件自行查找
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
menirvana
2011-05-31 · TA获得超过484个赞
知道小有建树答主
回答量:676
采纳率:0%
帮助的人:397万
展开全部
等于是VC调用MAtlab,这样效果不是很好,最好的是用Matlab生成dll文件,然后给VC调用,这样效率最高,你可以搜一下,VC与Matlab混合编程,很多教程的,大概有三四种方法
追问
可以具体些嘛 谢谢。。
追答
http://www.yesky.com/157/1860657.shtml
太多了,你在百度里面搜VC与Matlab混合编程一大堆
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式