mwArray类说明

2020-06-21 14:45

Matlab常用方法

mwArray类说明 - [Matlab VC环境下编程],有需要的朋友可以参考下。

mwArray是一个C/C++类的类型,而mxArray是C语言的类的类型 1、创建mwArray阵列

mwArray() 创建空的Matlab阵列,类型为mxDOUBLE_CLASS mwArray(mxClassIDmxID) 创建mxID指定类型的Matlab阵列

mwArray(mwSizenum_strings,const char**str)创建字符型阵列,字符串由str指定

mwArray(mwSizenum_rows,mwSizenum_cols,mx_ClassIDmxID,mxCompleixity complex=mxREAL) 创建行数为num_rows,列数为num_cols,类型为mxID的Matalb阵列,对于数值型阵列,将complx做为最后一个参数,确定待创建阵列是否为复数阵列

mwArray(mwSizenum_rows,mwSizenum_cols,intnum_fields,const char**fieldnames)创建行数为num_rows,列数为num_cols结构体阵列,结构体域名为由fieldnames指定,域名个数由num_fields指定

mwArray(mwSizenum_dims,constmwSize*dims,mxClassIDmxID,mxComplexitycmplx=mxREAL)创建任意维数的Matlab阵列,维数由num_dims指定,各维大小由dims指定,mxID指定阵列的类型。对于数值型阵列,将cmplx作为最后的一个参数,确定待创建阵列是否为复型的阵列。

mwArray(mwSizenum_dims,constmwSize *dims,intnum_fields.const char**fieldnames)创建任意维数的结构体阵列,维数由num_dims指定,各维大小由dims指定,结构体域名由fieldnames指定,域名个数由num_fields指定

mwArray(constmwArra&arr)根据当前的阵列arr中创建一个新的阵列(复制) mwArray(const char*str) 根据字符串str创建一个新的字符型阵列 mwArray(re,im)创建一个新的数值阵列,实部为re,虚部为im mwArray(re)创建一个新的数值阵列,实部为re. 2、mwArray类方法

mwSizeNumberOfNonZeros()const返回稀疏阵列非零元素的个数 mwSizeNumberOfElements()const返回阵列中元素的个数 mwSizeNumberofDimensions()const返回阵列维数

mwSizeMaximumNonZeros()const返回稀疏阵列中最大的元素的个数

mwArraySharedCopy()const返回一个新的共享数据型mwArray阵列,此阵列与现有的mwArray阵列指向同一个数据块。

mwArray Serialize()const将mwArray序列化一个新的阵列,新的阵列为mxUINT8_CLASS类型 mwArrayRowIndex()const返回阵列元素的行索引;对于稀疏阵列,只返回非零原素的行索引例如

mwArraya(2,3,mxDOUBLE_CLASS); mwArray rows=a.RowIndex(); mwArray Real() 返回数值阵列的实部例如

double rdata[4]={1.0,2.0,3.0,4.0};double idata[4]={10.0,20.0,30.0,40.0}; mwArraya(2,2,mxDOUBLE_CLASS,mxCOMPLEX); a.Real().SetData(rdata,4); a.Imag().SetData(idata,4);

mwArray Image() 返回数值阵列虚部

mwArray Get(mwSizenum_indices,....)根据索引返回阵列元素,其中num_indices表示索引数目。Get函数中输入的索引均从1起始。例如 double data[4]={1.0,2.0,3.0,4.0}; mwArraya(2,2,mxDOUBLE_CLASS); double x;

a.SetData(data,4);

x=a.Get(2,2,2);//返回4 x=a.Get(1,3);//返回3

mwArray Get(const char *name, mwSizenum_indices,...) 返回结构体域名为name,指定索引的结构体域,其中num_indices表示索引的数目。Get函数中输入的索引均从1起始。例如 const char* fields[]={\mwArraya(1,1,3,fields); //b=a(1).a; mwArray b=a.Get(\mwArray b=a.Get(\

mwArrayColumnIndex() const返回阵列元素的列索引;对于稀疏阵列,只返回非零元素的列索引。例如

mwArraya(3,2,mxDOUBLE_CLASS); mwArray rows=a.RowIndex();

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

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

intCompareTo(constmwArray&arr)const对比两个mwArray阵列 boolIsSparse()const判断是否Sparse阵列 boolIsNumeric()const判断是否是数值阵列 boolIsEmpty()const判断是否是空阵列 boolIsComplex()const判断是否复型阵列

bool Equals(constmwArray&arr)const判断两个阵列是否相同 3、mwArray类操作符

operate()const强制转换为其他类型例如 double data[4]={1.0,2.0,3.0,4.0}; double x;

mwArraya(2,2,mxDOUBLE_CLASS); a.SetData(data,4); x=double a(1,1);

mwArray&operator=(const& x) 赋值操作符例如 mwArraya(2,2,mxDOUBLE_CLASS); a(1,1)=1.0;

mwArray operator()(mxIndex i1,mxIndex i2,mwIndex i3,...)索引操作符 例如 double data[4]={1.0,2.0,3.0,4.0}; double x;

mwArraya(2,2,mxDOUBLE_CLASS); setData(data,4); x=a(1,1);

mwArray operator(const char* name,mwIndex i1,mwIndex i2,mwIndex i3,....) 结构体域索引操作符. 例如

const char* fields[]={\int index[2]={1,1};

mwArray a(1,1,3,fields); mwArray b=a(\

matlab里有关于集合运算的函数有如下的一些: intersect:集合交集 ismember:是否集合中元素

issorted:判断集合是否排序 (相关函数,sort:排序) setdiff:集合差集

setxor:集合异或(不在交集中的元素) union :两个集合的并

unique :返回向量作为一个集合所有元素(去掉相同元素) 举例如下:

>> clear; >> a=0;

>> A=[1 2 3 4 5]; >> B=[0 1 5 7 2];

>> C=union(A,B)%求集合A与B的并集 C =

0 1 2 3 4 5 7

>> D=intersect(A, B)%求集合A与B的交集 D =

1 2 5

>> E = setdiff(A, B)%求集合差A-B E =

3 4

>> F = setxor(A, B)%求A与B交集的补集 F =

0 3 4 7

>>ismember(a,A)%判断a是否属于A ans = 0

>>issorted(A) ans = 1

[N,Bin]=histc(X,B)统计B中元素在X中出现的频次


mwArray类说明.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:聚类分析案例

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: