COM - Feval() passing a table as a Double[,] is as expected, nonetheless c# Dictionary.ToArray() returns a Double[][] (what is called a jagged array)

1 vue (au cours des 30 derniers jours)
What would a best practice be in passing a Dictionary like structure into a matlab function such as "cov" using COM's Feval() ... take the below example:
SortedDictionary<DateTime, Double[]> tableTT;
...
matlab.Feval("cov", 1, out result, tableTT.Values.ToArray());
will fail, as ToArray() returns a jagged array.
Is there a way to avoid using a "conversion" function, such as:
static double[,] ImperativeConvert(double[][] source)
{
double[,] result = new double[source.Length, source[0].Length];
for (int i = 0; i < source.Length; i++)
{
for (int k = 0; k < source[0].Length; k++)
{
result[i, k] = source[i][k];
}
}
return result;
}
to convert the jagged array into a two-dimentional array?

Réponses (1)

Venkat Siddarth Reddy
Venkat Siddarth Reddy le 6 Mai 2024
Hi Andy,
You can call another MATLAB function called reshape, to convert the jagged array into 2D array.
To learn more about it,refer to the following documentation:
I hope this resolves your query, if not please comment down your query.

Catégories

En savoir plus sur Cell Arrays dans Help Center et File Exchange

Produits


Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by