one thing i need to know

1 visualizzazione (ultimi 30 giorni)
ar fa
ar fa il 2 Apr 2015
Commentato: Star Strider il 3 Apr 2015
hello I am c# programmer. after coding using matlab, I was faced with a problem. I can't convert below c# codes to matlab:
public double[][] Transpose(double[][] M)
{
double[][] R = new double[M[0].Length][];
for (int c = 0; c < M[0].Length; c++)
R[c] = new double[M.Length];
for (int i = 0; i < M.Length; i++)
{
for (int j = 0; j < M[0].Length; j++)
{
R[j][i] = M[i][j];
}
}
return R;
}
Please Help me to convert this code to matlab code and not recommend to use matlab function. Thanks

Risposta accettata

ar fa
ar fa il 3 Apr 2015
Modificato: James Tursa il 3 Apr 2015
I find solution for creating dynamic array in matlab:
How to Create it:
x = {zeros(1,30);zeros(1,20);zeros(1,10)};
x{4} = x;
How to Access it:
Write:
x{4}{1}(25) = 5;
Read:
x{4}{1}
Good luck
  2 Commenti
James Tursa
James Tursa il 3 Apr 2015
Modificato: James Tursa il 3 Apr 2015
Wow ... so all this time you simply wanted the dynamic memory allocation of array of pointers to arrays capability in C# translated into cell array of cell arrays in MATLAB. I never would have guessed ...
Star Strider
Star Strider il 3 Apr 2015
... and that’s the one thing ‘ar fa’ needs to know.
Now, a universal polymath!

Accedi per commentare.

Più risposte (2)

James Tursa
James Tursa il 2 Apr 2015
Modificato: James Tursa il 2 Apr 2015
R = M'
Or if you want to strictly transpose for complex arguments as well,
R = M.'
  3 Commenti
James Tursa
James Tursa il 3 Apr 2015
I have no idea what you are getting at. What does "R variable in C# code and simple access to any elements" mean? What does "Help me to create dynamic array" mean? You originally asked to convert the above C# code to MATLAB. I did that. Your original code just transposes a matrix. It uses a rather convoluted way to do this simply to preserve the [][] indexing syntax at the expense of not having all the data in the matrix contiguous, which is a bad choice IMO.
So what, exactly, are you after here? If you are not trying to convert the above code to MATLAB, then what do you want? Are you trying to connect some C# code with MATLAB (i.e., pass data between C# and MATLAB)?
Please be explicit because right now I have no idea what you really want.
Stephen23
Stephen23 il 3 Apr 2015
The second, non-conjugate transpose is the correct answer.

Accedi per commentare.


Andrew Newell
Andrew Newell il 2 Apr 2015
For your specific problem, some useful pages are Matrix Indexing in MATLAB, Loop Control Statements and Create Functions in Files. But you seem to be starting from zero knowledge of MATLAB, so you really should start with a tutorial. It wouldn't do you much good if we simply converted your function to MATLAB because you wouldn't know what to do with it.

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by