直接在Visual Studio中运行Matlab固有命令

#include <iostream>
#include"engine.h" // 添加matlab引擎库的头文件 //PATH: D:\Program Files\MATLAB\MATLAB Runtime\v901\runtime\win64
// 包含目录: D:\Program\MATLAB\R2016a\extern\include
// 库目录: D:\Program\MATLAB\R2016a\extern\lib\win64\microsoft
// 附加依赖项: libmat.lib;libeng.lib;libmx.lib;
#pragma comment(lib, "libeng.lib")
#pragma comment(lib, "libmx.lib")
#pragma comment(lib, "libmat.lib") using namespace std; int main()
{
Engine *ep;
// 启动引擎
if (!(ep = engOpen("\0")))
{
fprintf(stderr, "\n打开Matlab引擎失败!\n");
return EXIT_FAILURE;
}
// 执行:
int Nsample = 50; //采样率50Hz,每秒50个点
const double PI = 3.1415926;
double *t = new double[Nsample];
for (int i = 0; i <Nsample; i++) //i是时间,i/N是每个采样点的时间间隔,t[i]=2*PI*t
{
t[i] = i * 2 * PI / Nsample;
}
mxArray *T = NULL, *result = NULL;
T = mxCreateDoubleMatrix(1, Nsample, mxREAL); //新建Double型的矩阵,1行Nsample列
memcpy((void *)mxGetPr(T), (void *)t, Nsample * sizeof(t[0])); //把t中数据拷贝到T中
// 把变量T存入Matlab工作区
engPutVariable(ep, "X", T); //拷贝T到引擎中的X变量 // 执行Matlab命令   
engEvalString(ep, "Y=cos(X);");
engEvalString(ep, "plot(X,Y);");
engEvalString(ep, "title('y=cos(x)');");
engEvalString(ep, "xlabel('x');");
engEvalString(ep, "ylabel('y');");
fgetc(stdin);
// 清除对象,不能漏!
mxDestroyArray(T);
engEvalString(ep, "close;");
// 关闭引擎,不能漏!
engClose(ep); cout << "运行完成" << endl; return 0;
}

最新文章

  1. JavaScript学习(一) —— 环境搭建与JavaScript初探
  2. java web学习总结(二十二) -------------------简单模拟SpringMVC
  3. linux下交叉编译go项目
  4. 在asp.net mvc模式中使用PartialView返回部分HTML
  5. .net自定义WebService WSDL
  6. 17.1---编写一个函数交换两个变量的值(CC150)
  7. strcat()函数常见问题
  8. Dapper使用
  9. [性能分析]linux文件描述符(转)
  10. Unity NGUI 3.0.4版本 制作网络版斗地主
  11. sql server 导出
  12. Python学习笔记1-搭建Python环境 和 Python Hello World!
  13. iOS平台软件开发工具(一)-新建的工程使用CocoaPods工具集成第三方框架
  14. 使用EntityFramework中DbSet.Set(Type entityType)方法碰到的问题
  15. 编程之美2.18 数组分割 原创解O(nlogn)的时间复杂度求解:
  16. Solidity中uint转string
  17. Java+Selenium 如何参数化验证Table表格数据
  18. 使用cropper插件进行图片裁剪 并上传
  19. 【WePY小程序框架实战一】-创建项目
  20. python第十八课——常用内置函数

热门文章

  1. 写一个函数,对于一个给定的整数,如果它的二进制模式从正向看和反向看是一样的,那么返回true;
  2. 解决 i18n properties文件中文必须是unicode的问题
  3. java课堂动手测试2
  4. CPU、CPU核与线程的关系
  5. 【NOIP2016普及组复赛】魔法阵
  6. C#对应JavaScript的银行家舍入规则(Math.Round()对应toFixed(f))
  7. linux下部署nginx服务
  8. app自动化的执行
  9. LeeCode - 移动零
  10. kvm:双网卡做bond+桥接