Build Matrix from Text file or String

9 Ansichten (letzte 30 Tage)
Jakob
Jakob am 3 Nov. 2017
Bearbeitet: Jakob am 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 Kommentare
Stephen23
Stephen23 am 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 am 3 Nov. 2017
Bearbeitet: Jakob am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 3 Nov. 2017
A = '[1 2 3;4 5 6;7 8 9];'
B = str2num(A)
  1 Kommentar
Stephen23
Stephen23 am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by