通过数组的例子
print2darray
函数
的print2darray
功能shrlibsample
库显示三列的二维数组的值和变量的行数。的my2d
参数是一个二维数组双
。的len
参数的行数。
EXPORTED_FUNCTION空白print2darray(双my2d [] [3], int len) {int indxi indxj;(indxi = 0; indxi < len; + + indxi) {(indxj = 0; indxj < 3; + + indxj) {mexPrintf (“% 10 g”, my2d [indxi] [indxj]);}mexPrintf (“\ n”);}}
MATLAB数组转换为c风格的维度
这个例子展示了如何通过在MATLAB®columnwise数组来存储的数据一个C函数,假定row-by-column格式。
加载库包含print2darray
函数。
如果不是(libisloaded (“shrlibsample”)目录(fullfile (matlabroot,“外来的”,“例子”,“shrlib”)loadlibrary (“shrlibsample”)结束
创建一个MATLAB与4行3列数组。
m =重塑(1:12 4 3)
m =4×31 5 9 2 6 10 3 7 11 4 8 12
显示的值。第一列是[1 4 7 10]代替(1 2 3 4)。
calllib (“shrlibsample”,“print2darray”米,4)
1 2 3 4 5 6 7 8 9 10 11 12
转置米
得到期望的结果。
calllib (“shrlibsample”,“print2darray”,m ', 4)
1 5 9 2 6 10 3 7 11 4 8 12
multDoubleArray
函数
的multDoubleArray
功能shrlibsample
三个库复制数组的每个元素。函数使用一个下标(线性索引)导航输入数组。
EXPORTED_FUNCTION空白multDoubleArray(双* x, int大小){/ *多个数组的每个元素3 * / int我;(我= 0;<大小;我+ +)* x + + * = 3;}
MATLAB®函数签名:
返回类型 | 的名字 | 参数 |
---|---|---|
doublePtr |
multDoubleArray |
(doublePtr |
保持3 d MATLAB数组
这个例子显示了一个C函数改变一个MATLAB®数组的维度,以及如何恢复它的形状。
加载库。
如果不是(libisloaded (“shrlibsample”)目录(fullfile (matlabroot,“外来的”,“例子”,“shrlib”)loadlibrary (“shrlibsample”)结束
创建一个2-by-5-by-2输入数组并显示它的维度。
vin =重塑(1:20,2、5、2);vs =大小(vin)
和=1×32 5 2
调用multDoubleArray
把每一个元素。显示输出的尺寸。
输出电压= calllib (“shrlibsample”,“multDoubleArray”vin 20);大小(输出电压)
ans =1×22 10
恢复原来的形状。
输出电压=重塑(输出电压,vs);大小(输出电压)
ans =1×32 5 2