1.Matlab调用C++http://blog.csdn.net/zouxy09/article/details/20553007

摘录下效果图:

2.mwArray类操作http://blog.sina.com.cn/s/blog_9460ff790101fujz.html

2.1. 复数数组的初始化(由C到matlab)

double rdata[4] = {1.0, 2.0, 3.0, 4.0};

double idata[4] = {10.0, 20.0, 30.0, 40.0};

mwArray a(2, 2, mxDOUBLE_CLASS, mxCOMPLEX);

a.Real().SetData(rdata, 4);

a.Imag().SetData(idata, 4);

对应从mwArray中获取元素

a.Real().GetData(buffer,len);

a.Imag().GetData(buffer,len);

2.2. cell元组阵列的获取

由于mwArray索引运算符()直接返回mwArray类型,因此可以直接声明通过索引获取元组内的矩阵值。

eg: a={[1],[2],[1 2;3 4];[1 3;2 4],[1],[2]};

mwArray b=a(2); //b=[1 3;2 4];

mwArray c=a(5); //c=[1 2;3 4];

PS:mwArray中数组为按列排,因此[1 3;2 4]的索引号为2

2.3. mwArray成员函数使用

int NumberOfDimensions        返回矩阵维数

int NumberOfElements            返回矩阵元素个数

mwArray GetDimensions         返回一维矩阵,表示矩阵各维大小

bool IsComplex                        判断是否复数矩阵

PS:使用GetData前可先使用NumberOfElements确定元素个数,避免越界。

2.4. 字符串转换为mwArray

char str[]="inFile.mat";

mwArray inFile(str);

则inFile则可以直接作为函数的输入参数进行传递。

更详细的说明见:http://blog.sina.com.cn/s/blog_b3facf740101e3c7.html

intNumberOfFields() const 返回结构体域个数

intElementSize() const 返回mwArray阵列元素大小

intCompareTo(const mwArray& arr)const对比两个mwArray阵列

boolIsSparse()const 判断是否Sparse阵列

boolIsNumeric()const 判断是否是数值阵列

boolIsEmpty()const 判断是否是空阵列

boolIsComplex()const 判断是否复型阵列

boolEquals(const mwArray& arr)const 判断两个阵列是否相同

3.我使用的代码

//输入,文件名,用于载入文件

std::string SFilename;
const mwArray Filename(SFilename.c_str());


mwArray topic_numM(1,5,mxINT8_CLASS);
double b[] = {5,4,3,6,8};
topic_numM.SetData(b,5);

//输出,用于获取数组

int OutNorNum   =530;
int OutabNorNum =33;
mwArray Normal;
mwArray x_Abnorm_index;

函数....................................

double* Ptrue  = new double[OutNorNum];
int* Indexfalse= new int [OutabNorNum];
double* Pfalse = new double[OutNorNum];
Normal.GetData(Ptrue,OutNorNum);//此句 导致程序崩溃!越界
x_Abnorm_index.GetData(Indexfalse,OutabNorNum);//此句 导致程序崩溃!超出下标

mwArray与C++接口的更多相关文章

  1. Matlab与.NET基于类型安全的接口混合编程入门

    原文:[原创]Matlab与.NET基于类型安全的接口混合编程入门 如果这些文章对你有用,有帮助,期待更多开源组件介绍,请不要吝啬手中的鼠标. [原创分享]Matlab.NET混编调用Figure窗体 ...

  2. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  3. 干货来袭-整套完整安全的API接口解决方案

    在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...

  4. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  5. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  6. Java基础Map接口+Collections

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  7. java基础_集合List与Set接口

    List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素); 移除指定索引的元素   remove(索引) 修改指定索引的元素   set ...

  8. 【WCF】自定义错误处理(IErrorHandler接口的用法)

    当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...

  9. PHP以接口方式实现多重继承(完全模拟)--学习笔记

     1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ...

随机推荐

  1. eas之数据融合

    1.如何进行自由融合自由融合无须指定区域,KDTable将根据指定的融合模式,融合相邻且值相等的单元.// 自由行融合table.getMergeManager().setMergeMode(KDTM ...

  2. proc程序中使用PLSQL、Exception 、 动态SQL(day08)

    . proc中如何使用plsql 1.1 使用plsql的语法 exec sql execute begin /* 相当于plsql的匿名块 */ end; end-exec; 在预编译时,需要加如下 ...

  3. [bzoj2044] 三维导弹拦截 (二分图最大匹配+dp)

    传送门 Description 一场战争正在A国与B国之间如火如荼的展开. B国凭借其强大的经济实力开发出了无数的远程攻击导弹,B国的领导人希望,通过这些导弹直接毁灭A国的指挥部,从而取得战斗的胜利! ...

  4. 爬虫系列(十) 用requests和xpath爬取豆瓣电影

    这篇文章我们将使用 requests 和 xpath 爬取豆瓣电影 Top250,下面先贴上最终的效果图: 1.网页分析 (1)分析 URL 规律 我们首先使用 Chrome 浏览器打开 豆瓣电影 T ...

  5. centos7下源码方式安装gitlab8.9+发送邮件+ldap

    CentOS7下源码方式安装gitlab 环境描述 操作系统: centos7 redis: >=2.8 mysql >=5.5.14 git >=2.7.4 架构设计 一台gitl ...

  6. redis在windows上通过cmd连接服务器(需要密码)

  7. Spring 属性输入和实例化操作_总结

    Spring 之 applicationContext.xml  配置 默认实例化(无参构造) //被实例化对象 package cn.ibbidream.Bean; public class Bea ...

  8. http400错误基本都是http请求参数与服务器接收参数不匹配

    http400错误基本都是http请求参数与服务器接收参数不匹配造成的, 如:1)post请求,你发了个get请求 2)content-type指定不匹配致使参数无法读出来

  9. HDOJ1796 How many integers can you find(dfs+容斥)

    How many integers can you find Time Limit: 12000/5000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  10. Linux命令(七)——网络配置和网络通信

    在使用网络前,需要对linux主机进行基本的网络配置,配置后可以使该主机能够同其他主机进行正常的通信. 一.网络配置 1.ifcfg-ethn网络配置文件 所有的网络接口配置文件均存放在/etc/sy ...