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 view (last 30 days)
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?

Answers (1)

Venkat Siddarth Reddy
Venkat Siddarth Reddy on 6 May 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.

Categories

Find more on Cell Arrays in Help Center and File Exchange

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!