c++调用matlab
2.编译以下c代码,该代码写了一个mxMatDbl类
//
#include "stdafx.h"
#include <windows.h>
#include <matrix.h>
#include "../liba.h"
class mxMatDbl
{
public:
mxArray *m_array;
mxMatDbl()
{
m_array=0;
}
mxMatDbl(int h,int w,const double * pData)
{
m_array=mxCreateDoubleMatrix(h,w, mxREAL);
if(pData)
memcpy(mxGetPr(m_array),pData,h*w*sizeof(double));
}
double * getPtr()
{
return mxGetPr(m_array);
}
operator double *()
{
return mxGetPr(m_array);
}
operator mxArray *()
{
return m_array;
}
double & operator ()(int y,int x)
{
assert(m_array);
int W=w();
int H=h();
assert(y>=0 && y<H && x>=0 && x<W);
return *(mxGetPr(m_array)+ y*W + x);
}
int h()
{
return mxGetM(m_array);
}
int w()
{
return mxGetN(m_array);
}
void Release()
{
if(m_array)
{
mxDestroyArray(m_array);
m_array=0;
}
}
~mxMatDbl()
{
Release();
}
void Print()
{
for (int y=0;y<h();y++)
{
for (int x=0;x<w();x++)
{
printf("%g ",(*this)(y,x));
}
printf("\n");
}
}
protected:
private:
};
void TestMxMatDbl()
{
double data[6]={1.0 ,2.0 ,3.0 ,4.0,5.0,6.0};
mxMatDbl m(2,3,data);
printf("w %d,h %d\n",m.w(),m.h());
for (int y=0;y<m.h();y++)
{
for (int x=0;x<m.w();x++)
{
printf("%g ",m(y,x));
}
printf("\n");
}
}
void callMatlab()
{
libaInitialize();
double _r[]={0,0,0};
mxMatDbl r(3,1,_r);
mxMatDbl R(3,3,0);
if(0)
{//这一局怎么不行??
mxArray *prhs[1];prhs[0]=r.m_array;
mxArray *plhs[1];plhs[0]=R.m_array;
mlxOula(1, plhs, 1, prhs);
}
else
mlxOula(1, &R.m_array, 1, &r.m_array);
r.Print();
R.Print();
libaTerminate();
}
int main(int argc, char* argv[])
{
//TestMxMatDbl();
callMatlab();
return 0;
}
c++调用matlab相关推荐
- Qt调用MATLAB
Qt调用MATLAB 生成的dll经验分享 由于项目需要将生成的数据转成C3D运动捕捉格式,目前无C++转换算法,有MATLAB算法,考虑到C++重新码算法的时间,选择了将MATLAB算法直接转成C+ ...
- c 使用matlab引擎,[转载]C与MATLAB混合编程之调用MATLAB引擎
Visual Studio调用MATLAB需要的配置已经在<Visual Studio调用MATLAB的配置>一文中给出了详细的步骤,本文将介绍混合编程的示例. 在C中调用MATLAB,据 ...
- VS下调用Matlab引擎
VS2008是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快.但在科学计算方面函数库显得不够丰富.读取.显示数据图形不方便.Matlab是一款将数值分析.矩阵计算.信号处理和图形显 ...
- c#调用Matlab的参数传递
c#调用matlab函数时,需要将C#数据类型转换成Matlab数据类型. 此时,需要引用MWArray.dll文件.该程序集包含了与Matlab数据交换的类.其中,MWArray类及每个派生类提供创 ...
- java调用matlab 数组_JAVA调用matlab程序 输入输出数据转换
JAVA调用matlab程序 输入输出数据转换 JAVA 程序调用 matlab函数(matlab导出jar包里的函数).JAVA解析matlab返回数据时,机器需要先安装matlab运行时环境 并 ...
- Java调用Matlab
1 Java调用Matlab方法举例 ◆ 将 Matlab 编写的 m 文件转化为 COM(Component Object Model) 组件,在 Java 程序中利用第三方工具包调用 com ...
- linux下java调用matlab程序,linux_java调用windows_matlab程序
0 说明 本文为研究java和matlab的混合编程,进行了详细的测试和探索,以解决linux环境下java程序调用matlab程序的一个应用. linux端的环境 :(运行java程序并调用wind ...
- VS调用matlab
可参照: VS2010调用Matlab的m文件所生产的dll实现二次规划算法.docx 全文-毕业论文-文档在线 http://max.book118.com/html/2013/1231/54228 ...
- Java调用Matlab程序
Java调用Matlab程序_Macrocell-CSDN博客_java调用matlab
- codeblocks调用matlab,matlab engine: 在Codeblocks中使用C++调用matlab | 学步园
平台:XP,Code::Blocks 10.05(包含gcc 4.4.1),matlab 2010b 方式:C++调用matlab引擎 设置步骤: (一)系统变量:path中添加MinGW\bin; ...
最新文章
- UVA 11054 Wine trading in Gergovia 葡萄酒交易 贪心+模拟
- ML之K-means:基于DIY数据集利用K-means算法聚类(测试9种不同聚类中心的模型性能)
- mysql 报表统计sql使用实例_mysql 案例~mysql元数据的sql统计
- 如何修改Oracle并发连接数的设置
- 解决sklearn.metrics指标报错ValueError: Target is multiclass but average=‘binary‘. Please choose anothe...
- 从入门到入土(三)RocketMQ 怎么保证的消息不丢失?
- linux rdma测试,硬件RDMA的驱动配置和测试
- Android开源框架Afinal第一篇——揭开圣女的面纱
- 苹果被拒的血泪史。。。(update 2015.11)
- 适配层java接口_Linux Framebuffer适配层释疑
- react-hooks/exhaustive-deps警告
- 大学计算机考试59分,大学期末考59分,你会找老师理论吗?很多人都猜错
- 下载Idea以及破解使用至2100年
- mongodb常用方法
- FBG光纤反射器,FTTX网络链路监控的理想光端
- 区块链游戏开发注意事项
- 少吃盐,一定要少吃盐!
- 专题论坛:云计算安全论坛
- Git 常用命令练习
- 记账的优缺点分析 聊聊记账这些事
热门文章
- 数据结构与算法笔记-------选择排序
- IDEA插件jrebel的配置使用
- Volley,Okhttp,Retrofit源码研究心得大总结
- ajax 请求与响应,实例解读ajax发送请求与数据响应
- Android中处理崩溃异常和分析日志的两种思路
- combox控件触发事件_Simulink(三角函数和代数约束模块)+Matlabgui(Gui实例)+Stateflow数据与事件(三)...
- 将某一列转换为字符类型_还在为数据清洗抓狂?这里有一个简单实用的清洗代码集...
- python ssd目标检测_基于自注意力的SSD图像目标检测算法
- python环境变量设置失败
- python和go哪个就业前景好_Python和Java就业前景对比