Main Content

Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Pasar matrices dentadas

Crear System. Double .NET irregular array

En este ejemplo se muestra cómo crear una matriz escalonada de .NET con la función.System.DoubleNET.createArray

Cree una matriz de tres elementos. Puede pasar a cualquier método .NET con un argumento de entrada o de salida de tipo.jArrSystem.Double[][]

jArr = NET.createArray('System.Double[]',3) 
 jArr =     Double[][] with properties:              Length: 3         LongLength: 3               Rank: 1           SyncRoot: [1×1 System.Double[][]]         IsReadOnly: 0        IsFixedSize: 1     IsSynchronized: 0  

Llame al método .NET con los argumentos de matriz irregular System. String

En este ejemplo se muestra cómo crear una matriz de vectores de caracteres para pasar a un método, con un argumento de entrada.MATLAB®MethodStringArrSystem.String[][]

A continuación se muestra la firma de la función.MATLABMethodStringArr

Tipo de valor devueltoNombreArgumentos
System.String[][] RetValMethodStringArr(NetPackage.StringClass this,
System.String[][] arr)

Los vectores de caracteres que desea pasar al método son:MATLAB

str1 = {'this', 'is'};  str2 = 'jagged'; 

Cree una variable, de matrices, que contiene dos matrices.netArrSystem.String Usando el, el para esta matriz es, y la dimensión es.NET.createArraytypeNameSystem.String[]2

netArr = NET.createArray('System.String[]',2); 

Las matrices contienen cadenas vacías.

Cree matrices para que se correspondan con los vectores de caracteres y.System.StringMATLABstr1str2

netArr(1) = NET.createArray('System.String',2); netArr(2) = NET.createArray('System.String',1); 

Asignar y a.str1str2netArr

netArr(1) = str1; netArr(2,1) = str2; 

Dado que es un escalar y espera una matriz, debe asignar al elemento específico.str2netArr(2)str2netArr(2,1)

Ahora puede pasar al método.netArrMethodStringArr

class(netArr)
ans = System.String[][]

Llame al método .NET con argumentos multidimensionales de matriz irregular

En este ejemplo se muestra cómo crear una matriz para pasar a un método, con un argumento de entrada de matriz escalonada multidimensional de tipo.MATLABMethodMultiDArrSystem.Double

A continuación se muestra la firma de la función.MATLABMethodMultiDArr La entrada es una matriz escalonada multidimensional que contiene elementos unidimensionales.

Tipo de valor devueltoNombreArgumentos
System.Double[][,] RetValMethodMultiDArr (NetPackage.NumericClass this,
System.Double[][,] arr)

Crear un-por-array con de.23typeNameSystem.Double[]

arr = NET.createArray('System.Double[]',2,3);

Los elementos son matrices vacías.

Las matrices que desea pasar al método son:MATLAB

A1 = [1 2 3]; A2 = [5 6 7 8]; 

convierte automáticamente una matriz numérica al tipo .NET equivalente.MATLAB

arr(1,1) = A1; arr(1,2) = A2; 

Array es una matriz irregular.arrSystem.Double[][,]

arr
arr =     Double[][,] with properties:              Length: 6         LongLength: 6               Rank: 2           SyncRoot: [1x1 System.Double[][,]]         IsReadOnly: 0        IsFixedSize: 1     IsSynchronized: 0

Ahora puede pasar al método.arrMethodMultiDArr