正在加载图片...
310 MATLAB5手册 China-pub.c 下载 注意:C中可以使用8、16或32位的带符号或不带符号的整数和单精度浮点小数的 mxArray来创建和计算。然而现在已不能在MALTAB环境中使用它们了。 命令集180C中多维数组的处理 mxArray *mxCreateNumericArray(int ndim,const int +dims,mxclassID class, MxComplexity ComplexFlag); 和nxCreateCellArray相似,但是这里是创建n维的数字矩阵。数字类型为class, 见命令集176中的nxClassID。如果有复数,则ComplexFlag设为nxCOMPLEX:否 则为mxREAL。 void *mxGetData(const mxArray tarray_ptr); 和nxGetPr相似,见命令集177,但是返回一个void指针。更多的是用在除双精度浮 点小数以外的其他类型数字矩阵中。 void mxsetData(mxArray tarray_ptr ,void *data_ptr)i 和nxSetPr相似,见命令集I77,但是返回一个void指针。更多的是用在除双精度浮 点小数以外的其他类型数字矩阵中。 void *mxGetImagData(const mxArray array_ptr)i 和nxGetPi相似,见命令集177,但是返回一个void指针。更多的是用在除双精度 浮点小数以外的其他类型数字矩阵中。 void mxsetImagData(mxArray array_ptr,void *pi); 和nxSetPi相似,见命令集I77,但是返回一个void指针。更多的是用在除双精度 浮点小数以外的其他类型数字矩阵中。 void mxsetLogical(mxArray array_ptr); 在array ptr指向的数字mxArray中设置逻辑标识符。MATLAB就会把mxArray的数据 当作逻辑变量来对待,也就是0是假,其他值是真。 void mxclearLogical(mxArray *array_ptr); 去掉数字mxArray中的逻辑标识符,见上。 bool mxIsLogical(const mxArray tarray_ptr); 检查数字mxArray中的逻辑标识符的设置,见上。如果设置了,就返回真:否则返回假。 MATLAB5中一新数据类型是细胞矩阵,也称细胞数组:见5.5节。下面的程序用来处理 这种类型的mxArray: 命令集181 C中细胞矩阵的处理 mxArray *mxCreatecellArray(int ndim,const int *dims): 创建一个n维的空细胞矩阵。参数ndim是维数,dims是表示每维大小的向量指针。如 果创建成功,就返回指向细胞矩阵的指针:否则返回NULL或停止程序运行。 mxArray *mxCreatecellMatrix(int m ,int n); 和上个函数相似,但是是用来创建一个二维mXn的细胞矩阵。 mxArray *mxGetcell(const mxArray tarray_ptr,int index); 从细胞mxArray中复制一个细胞。参数array ptr是指向细胞mxArray的指针,index表注意: C中可以使用 8、1 6或3 2位的带符号或不带符号的整数和单精度浮点小数的 m x A r r a y来创建和计算。然而现在已不能在 M A LTA B环境中使用它们了。 命令集1 8 0 C中多维数组的处理 mxArray *mxCreateNumericArray(int ndim, const int *dims, mxClassID class, MxComplexity ComplexFlag); 和m x C r e a t e C e l l A r r a y相似,但是这里是创建 n维的数字矩阵。数字类型为 c l a s s, 见命令集1 7 6中的m x C l a s s I D。如果有复数,则 C o m p l e x F l a g设为m x C O M P L E X;否 则为m x R E A L。 void *mxGetData(const mxArray *array_ptr); 和m x G e t P r相似,见命令集1 7 7,但是返回一个v o i d指针。更多的是用在除双精度浮 点小数以外的其他类型数字矩阵中。 void mxSetData(mxArray *array_ptr ,void *data_ptr); 和m x S e t P r相似,见命令集1 7 7,但是返回一个v o i d指针。更多的是用在除双精度浮 点小数以外的其他类型数字矩阵中。 void *mxGetImagData(const mxArray *array_ptr); 和m x G e t P i相似,见命令集 1 7 7,但是返回一个 void 指针。更多的是用在除双精度 浮点小数以外的其他类型数字矩阵中。 void mxSetImagData(mxArray *array_ptr, void *pi); 和m x S e t P i相似,见命令集 1 7 7,但是返回一个 v o i d指针。更多的是用在除双精度 浮点小数以外的其他类型数字矩阵中。 void mxSetLogical(mxArray *array_ptr); 在a rr a y_p t r指向的数字m x A r r a y中设置逻辑标识符。M AT L A B就会把m x A r r a y的数据 当作逻辑变量来对待,也就是 0是假,其他值是真。 void mxClearLogical(mxArray *array_ptr); 去掉数字m x A r r a y中的逻辑标识符,见上。 bool mxIsLogical(const mxArray *array_ptr); 检查数字m x A r r a y中的逻辑标识符的设置,见上。如果设置了,就返回真;否则返回假。 M ATLAB 5中一新数据类型是细胞矩阵,也称细胞数组;见 5 . 5节。下面的程序用来处理 这种类型的m x A r r a y: 命令集1 8 1 C中细胞矩阵的处理 mxArray *mxCreateCellArray(int ndim, const int *dims); 创建一个n维的空细胞矩阵。参数 n d i m是维数,d i m s是表示每维大小的向量指针。如 果创建成功,就返回指向细胞矩阵的指针;否则返回 N U L L或停止程序运行。 mxArray *mxCreateCellMatrix(int m ,int n); 和上个函数相似,但是是用来创建一个二维 m×n的细胞矩阵。 mxArray *mxGetCell(const mxArray *array_ptr, int index); 从细胞m x A r r a y中复制一个细胞。参数a rr a y_p t r是指向细胞m x A r r a y的指针,i n d e x表 3 1 0 M ATLAB 5 手册 下载
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有