MATLAB Answers

creating a matrix in matlab using a text file

51 views (last 30 days)
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.

Accepted Answer

per isakson
per isakson on 11 Oct 2019
Edited: per isakson on 11 Oct 2019
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

Nitish Reddy Kotkur
Nitish Reddy Kotkur on 11 Oct 2019
so are the these [ ] and whitespace acting as delimiter?
Jeremy Hughes
Jeremy Hughes on 11 Oct 2019
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);
Nitish Reddy Kotkur
Nitish Reddy Kotkur on 20 Oct 2019
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.

More Answers (0)