求推荐
usrbin吧
全部回复
仅看楼主
level 6
最近在看Matlab与C/C++混合编程,问这方面有什么比较好的书吗?求推荐
2011年05月28日 08点05分 1
level 11
召唤MATLAB帝
2011年05月28日 08点05分 2
level 11
顺便好奇的问问LZ是什么专业的?
2011年05月28日 09点05分 3
level 6
问一下:在code::blocks下如何调用MATLAB计算引擎?
2011年05月28日 09点05分 4
level 6
mathematics
2011年05月28日 09点05分 5
level 11
2011年05月28日 09点05分 6
level 11
[揉脸]
2011年05月28日 09点05分 7
level 6
谢谢,先看看
2011年05月28日 09点05分 8
level 6
//调用MATLAB函数绘制函数曲线
#include <iostream.h>
#include <math.h>
#include "engine.h" //添加MATLAB引擎头文件
#include <string.h>
int main()
{
     //定义x,y数组并赋初值
const int N=20;
double x[N],y[N];
for (int i=0;i<N; i++)
{
     x[i]=i+1;
     y[i]=x[i]*x[i];
}
Engine *ep;      //定义MATLAB引擎指针变量
if(!(ep=engOpen(NULL))) //打开MATLAB引擎
{
     cout<<"can't start MATLAB engine!"<<endl;
     exit(1);
}
//利用MATLAB API mxCreateDoubleMatrix函数生成矩阵,即申请空间,MATLAB引擎中使用mxArray类型数据
mxArray *xx=mxCreateDoubleMatrix(1,N,mxREAL);//1行N列,mxREAL为实双精度矩阵
mxArray *yy=mxCreateDoubleMatrix(1,N,mxREAL);
//mxGetPr获取指向输入、输出矩阵数据的指针
memcpy(mxGetPr(xx),x,N*sizeof(double));//将数组 x 复制到 mxarray 数组 xx 中,即给xx数组赋值
memcpy(mxGetPr(yy),y,N*sizeof(double));
engPutVariable(ep,"xx",xx);//将 mxArray 数组 xx 写入到 Matlab 工作空间,命名为 xx
engPutVariable(ep,"yy",yy);
engEvalString(ep,"plot(xx,yy)");//通过引擎调用MATLAB中plot(x,y)函数,绘制函数曲线
mxDestroyArray(xx); //释放内存
mxDestroyArray(yy);//释放内存
cout<<"press any key to exit!"<<endl;
cin.get();
engClose(ep);
return 0;
}
2011年05月28日 09点05分 9
level 11
[歪头]
2011年05月28日 10点05分 10
level 6
记录一些用法的例子
2011年05月28日 10点05分 11
level 11
那这个贴就给你留着作资料贴吧
2011年05月28日 10点05分 12
level 6
没关系,随您处理吧
2011年05月28日 10点05分 13
1