博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mwArray
阅读量:6070 次
发布时间:2019-06-20

本文共 1364 字,大约阅读时间需要 4 分钟。

hot3.png

在vc中调用MATLAB产生的组建时,需要将vc中的参数转换成mwArray格式。

对mwArray赋值,主要包括矩阵赋值和字符串赋值。

一.矩阵赋值

<1>mwArray 定义矩阵变量

              mwArray  A(rows, cols, type)

            参数说明:

               A       : 变量名

                rows:行数

               col   :列数

               type :数t据类型

整体含义是:定义矩阵A,行数为:rows,列数为:cols,类型为:type

typedef enum  {      mxUNKNOWN_CLASS = 0, //未知类型      mxCELL_CLASS, //细胞类型      mxSTRUCT_CLASS, //结构类型      mxLOGICAL_CLASS, //布尔类型      mxCHAR_CLASS,  //字符串类型      mxVOID_CLASS,  //void类型      mxDOUBLE_CLASS,       mxSINGLE_CLASS, //单精度浮点数      mxINT8_CLASS, //      mxUINT8_CLASS,      mxINT16_CLASS,      mxUINT16_CLASS,      mxINT32_CLASS,      mxUINT32_CLASS,      mxINT64_CLASS,      mxUINT64_CLASS,      mxFUNCTION_CLASS, //函数类型      mxOPAQUE_CLASS, //      mxOBJECT_CLASS  //对象类型  }

 

 

注: 如果参数不是矩阵,只是一个数,令 rows=1,cols=1即可。

<2>矩阵赋初值:

int a[6] = {1,2,3,4,5,6}  mwArray A(2,3,mxINT32_CLASS);    A.SetData(a,6); //第二个参数为要设置的数的个数,大小可设为rows*cols

注:该过程相当于把1*6的矩阵,转化为2*3的矩阵,matlab转化顺序是,先排第一列,由上到下为a[0] a[1],然后排第二列,由上到下为a[2] a[3],即转化后的A为:

1     3      5

2     4      6

如果要使A为:

1      2     3

4      5     6

需这样赋值:

int a[6] = {1,2,3,4,5,6}  mwArray A(3,2,mxINT32_CLASS);  //修改此处:行列数互换  A.SetData(a,6); //第二个参数为要设置的数的个数,大小可设为rows*cols

此时生成的A为:

1      4

2      5

3      6

该矩阵转置之后,既可以达到所需形式,转置过程可以在matlab的.m文件中添加,先修改.m,然后在生成dll、lib、h文件。

尤其是,在图像处理时,如果传递的矩阵为图像数据矩阵,要采用后一种方法赋值,否则,图像会严重变形失真。

二、字符串赋值

char str[5] = "abcd";  //或 CString str = "abcd"  mwArray mwA(str);

该过程比较简单。

转载于:https://my.oschina.net/zengjs275/blog/730358

你可能感兴趣的文章
java基础---->正则表达式
查看>>
2.2013/06/13_log(n)+1
查看>>
关于加载iframe时进度条不消失的问题
查看>>
poj 3984迷宫问题【广搜】
查看>>
oracle ORA-01840:输入值对于日期格式不够长
查看>>
python基础知识~logger模块
查看>>
SIP入门(二):建立SIPserver
查看>>
Servlet3.0的异步
查看>>
WebService连接postgresql( 失败尝试)
查看>>
从头认识java-13.11 对照数组与泛型容器,观察类型擦除给泛型容器带来什么问题?...
查看>>
Python-MacOSX下SIP引起的pip权限问题解决方案(非取消SIP机制)
查看>>
从MFQ方法到需求分析
查看>>
android.view.WindowManager$BadTokenException: Unable to add window
查看>>
HDU5012:Dice(bfs模板)
查看>>
iphone openssh
查看>>
Linux下MEncoder的编译
查看>>
Xamarin使用ListView开启分组视图Cell数据展示bug处理
查看>>
Javascript中闭包(Closure)的探索(一)-基本概念
查看>>
spark高级排序彻底解秘
查看>>
ylbtech-LanguageSamples-PartialTypes(部分类型)
查看>>