MATLAB Answers

0

creating a matrix in matlab using a text file

Asked by Nitish Reddy Kotkur on 11 Oct 2019
Latest activity Edited by per isakson
on 21 Oct 2019
type output.txt;
A = readmatrix('output.txt');
A
This is the output.txt file
[[1 2 2 0 0]
[2 1 0 0 2]
[2 0 1 2 0]
[0 0 2 0 4]
[0 2 0 4 0]]
A =
NaN 2 2 0 NaN
NaN 1 0 0 NaN
NaN 0 1 2 NaN
NaN 0 2 0 NaN
NaN 2 0 4 NaN
but when i passed it as a input to A the first and last rows are displaying NaN.can someone rectify it.

  0 Comments

Sign in to comment.

1 Answer

Answer by per isakson
on 11 Oct 2019
Edited by per isakson
on 11 Oct 2019
 Accepted Answer

It's the brackets, [], that confuses Matlab. Try
A = readmatrix( 'output.txt', 'Whitespace',' []' );
I have R2018b so I can't test it.
Your output.txt looks more like the right hand side of an assignment in an m-function. Try
A = [[1 2 2 0 0]
[2 1 0 0 2]
[2 0 1 2 0]
[0 0 2 0 4]
[0 2 0 4 0]]
in the command window (copy and paste).

  3 Comments

so are the these [ ] and whitespace acting as delimiter?
Space ( char(32) ) is being used as the delimiter and [] are just being ignored.
I'd reccomend this for most cases where there are other characters since you don't have to specify what to omit.
A = readmatrix('output.txt','TrimNonNumeric',true);
now the ouput.txt is in this manner
[[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 1]
[0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0]
A = readmatrix( 'output.txt', 'Whitespace',' []' );
when i ran this its displaying NaN- Can you help me with this

Sign in to comment.