Dimension of fields in mwArray structs?

4 次查看(过去 30 天)
hnde
hnde 2011-2-10
Hello,
I have a quesiton about the dimensions of the structs created by mwArray when the structs have fields.
For example,
const char *fields[] = {"field1", "field2"};
mwSize dims[2] = {2, 2};
mwArray m(2,dims, 2, fileds);
In this case, is field1 and field2 a 2x2 matrix?
What can I do if I want to have a mxn matrix in field1 and a jxk matrix in field2?
Thank you.

回答(1 个)

Kaustubha Govind
Kaustubha Govind 2011-2-10
I think what you're declaring is really a 2x2 matrix of structures with two fields: field1 and field2.
You could try the alternative syntax for mwArray:
const char *fields[] = {"field1", "field2"};
mwSize dims[2] = {1, 1};
mwArray m(2,dims, 2, fields);
mwArray field1(m, n, mxDOUBLE_CLASS);
mwArray field2(j, k, mxDOUBLE_CLASS);
m.Get(fields[0],1,1).Set(field1);
m.Get(fields[1],1,1).Set(field2);
  2 个评论
hnde
hnde 2011-2-10
Thank you very much for your answers. They helped me a lot.
I have another question, somewhat unrelated.
If in matlab and in C++, the struct 'm' which holds the fields field1 and filed2 are of type DataStruct, is there any way I can convert 'm' directly to mwArray type?
Right now I am just assigning the values to the fields seperately, and I was just wondering if it is possible to cast the DataStruct type to mwArray directly?
Thank you very much.
Kaustubha Govind
Kaustubha Govind 2011-2-16
I think you do need to assign the values explicitly - I am not aware of a way to do this directly.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Deploy to C++ Applications Using mwArray API (C++03) 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by