Build Matrix from Text file or String

9 visualizzazioni (ultimi 30 giorni)
Jakob
Jakob il 3 Nov 2017
Modificato: Jakob il 3 Nov 2017
Hey Guys, I'm working with Mathematica and MatLab and I just wrote a function, which translates the results (matrices and vectors) I get in Mathematica (saved as a .txt-file) into the syntax I'm using in my MatLab script. The output of this function is a char-array and I also save it as a .txt-file. Which looks like that:
'[1 2 3;4 5 6;7 8 9];'
And I want to have this as an actual asignment for the matrix-elements, so something like that:
A=[1 2 3;4 5 6;7 8 9];
Is there a way to convert this character array into an actual MatLab command to asign the matrix-elements?
  4 Commenti
Stephen23
Stephen23 il 3 Nov 2017
@Jakob: you are trying to use MATLAB as a parser, which is rarely efficient. It may be simpler to create those files to contain valid MATLAB code, and then just call the script.
Jakob
Jakob il 3 Nov 2017
Modificato: Jakob il 3 Nov 2017
Thanks Stephen, but I don't really understand what you mean. Just to explain, why I need this... I have to calculate the matrix entries new in each iteration, and the matrix entries should be the description for the calculation. So can I use characters in the CSV-file? The equations will then probably be handeled like strings.

Accedi per commentare.

Risposta accettata

KSSV
KSSV il 3 Nov 2017
A = '[1 2 3;4 5 6;7 8 9];'
B = str2num(A)
  1 Commento
Stephen23
Stephen23 il 3 Nov 2017
This works, but is very inefficient and relies on eval. The best solution would be to import that data properly by writing a standard file format and import that as numeric data.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by