I am calling a C# dll which is returning some Data. oTG is the returned object.
K>> oTG
oTG =
Calc with properties:
Values: [1x1 System.Double[,,,]]
K>> oTG.Values
ans =
Double[,,,] with properties:
Length: 181222
LongLength: 181222
Rank: 4
SyncRoot: [1x1 System.Double[,,,]]
IsReadOnly: 0
IsFixedSize: 1
IsSynchronized: 0
Ho to get the size of the 4D array oTG.Values?

 Réponse acceptée

Martijn
Martijn le 17 Sep 2015
1. If you have a multidimensional array (like Double[,,,]) and not a Jagged array (like Double[][][][]), you should be able to simply use:
MATLABMatrix = double(MyNetArray);
To convert the whole matrix to a MATLAB matrix.
2.If you do want to get more information about the dimensions you will need to use the actual .NET methods for this:
So you can first get the number of dimensions:
numDim = MyNetArray.Rank
And then loop through the dimensions calling GetLength:
for i=1:numDim
dims(i) = MyNetArray.GetLength(i-1);
end

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by