mwArray与C++接口
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++接口的更多相关文章
- Matlab与.NET基于类型安全的接口混合编程入门
原文:[原创]Matlab与.NET基于类型安全的接口混合编程入门 如果这些文章对你有用,有帮助,期待更多开源组件介绍,请不要吝啬手中的鼠标. [原创分享]Matlab.NET混编调用Figure窗体 ...
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 干货来袭-整套完整安全的API接口解决方案
在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...
- 12306官方火车票Api接口
2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Java基础Map接口+Collections
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- java基础_集合List与Set接口
List接口继承了Collection的方法 当然也有自己特有的方法向指定位置添加元素 add(索引,添加的元素); 移除指定索引的元素 remove(索引) 修改指定索引的元素 set ...
- 【WCF】自定义错误处理(IErrorHandler接口的用法)
当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...
- PHP以接口方式实现多重继承(完全模拟)--学习笔记
1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ...
随机推荐
- C#第六节课
for循环 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System ...
- 教你如何检查一个函数是否为JavaScript运行时环境内建函数
在开发过程中,对于某些API在现有的JavaScript运行时环境不支持的时候,我们大都会采用加入polyfill来解决这个问题.但有些时候我们可能需要知道现在某个API到底是否为运行时环境所原生支持 ...
- jQuery升级踩坑之路
1.使用了被废弃的jQuery.browser属性 jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更 ...
- Nginx学习总结(1)——Nginx入门简介
本文主要介绍一些Nginx的最基本功能以及简单配置,但不包括Nginx的安装部署以及实现原理.废话不多,直接开始. 1.静态HTTP服务器 首先,Nginx是一个HTTP服务器,可以将服务器上的静态文 ...
- XHXJ's LIS
XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Probl ...
- ASP的Global.asa使用说明
/*-------------------ASP文档参考集-----------------------*/ *-->作者:草履虫 *-->时间:2007-4.28---2007-4.30 ...
- 洛谷 P2023 BZOJ 1798 [AHOI2009]维护序列
题目描述 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成. 有长为N的数列,不妨设为a1,a2,…,aN .有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一 ...
- Linux Storage Stack Diagram 4.0
https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram
- Shell脚本递归打印指定文件夹中全部文件夹文件
#!/bin/bash #递归打印当前文件夹下的全部文件夹文件. PRINTF() { ls $1 | while read line #一次读取每一行放到line变量中 do [ -d $1/$li ...
- python基于selenium+cv2+numpy实现登录某大型电商系统
首先贴上我的安装包 一.selenium安装 I.打开pycharm,点击Settings,找到Project Interpreter,点击右边的下拉菜单下的show All...选项 II.点击sh ...