readmatrix returning last column as NaN

Hello Reader!
I am practicing with figures and am practicing with custom cursors.
To save having a very large matrix in the code instead I have a .txt file with the matrix.
customcursor = readmatrix('smileyfacematrix.txt') ;
As you can see in the image the last column of customcursor is entirely NaN.
This is what the text file looks like.
I can not understand why the last column MATLAB converts entirely to NaN and how I can stop this from happening.

1 Comment

I solved the problem by removing the semicolons from the .txt file. Thank you! Trying this didn't cross my mind.

Sign in to comment.

 Accepted Answer

@Philip The last column has additional character (semicolon) ' ; ' even though it has numeric data. Use readtable to check that the last column actually has same data as in the text file.
customcursor = readmatrix('smileyfacematrix.txt')
customcursor = 16x16
NaN NaN NaN NaN NaN 1 1 1 1 1 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN 1 NaN NaN NaN 1 1 NaN NaN NaN NaN 1 1 NaN NaN NaN NaN 1 NaN NaN 1 NaN NaN 1 NaN NaN 1 NaN NaN 1 NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
customcursor = readtable('smileyfacematrix.txt')
customcursor = 16x16 table
Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9 Var10 Var11 Var12 Var13 Var14 Var15 Var16 ____ ____ ____ ____ ____ ____ ____ ____ ____ _____ _____ _____ _____ _____ _____ _________ NaN NaN NaN NaN NaN 1 1 1 1 1 1 NaN NaN NaN NaN {'NaN;' } NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN {'NaN;' } NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN {'NaN;' } NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN {'NaN;' } NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 {'NaN;' } 1 NaN NaN NaN 1 1 NaN NaN NaN NaN 1 1 NaN NaN NaN {'1;' } 1 NaN NaN 1 NaN NaN 1 NaN NaN 1 NaN NaN 1 NaN NaN {'1;' } 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'1;' } 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'1;' } 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'1;' } 1 NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN {'1;' } NaN 1 NaN NaN NaN 1 NaN NaN NaN NaN 1 NaN NaN NaN 1 {'NaN;' } NaN NaN 1 NaN NaN NaN 1 1 1 1 NaN NaN NaN 1 NaN {'NaN;' } NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN {'NaN;' } NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN {'NaN;' } NaN NaN NaN NaN NaN 1 1 1 1 1 1 NaN NaN NaN NaN {'NaN;]'}
customcursor.Var16{:};
customcursor = readmatrix('Smileyfacematrix.txt')
customcursor = 16x16
NaN NaN NaN NaN NaN 1 1 1 1 1 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN 1 NaN NaN NaN 1 1 NaN NaN NaN NaN 1 1 NaN NaN NaN 1 1 NaN NaN 1 NaN NaN 1 NaN NaN 1 NaN NaN 1 NaN NaN 1 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

2 Comments

I solved the problem by removing the semicolons from the .txt file. Thank you! Trying this didn't cross my mind.
The file also has another character ' ] ' . One simple option is to delete those characters from the txt file itself and then read the data.

Sign in to comment.

More Answers (0)

Products

Release

R2023a

Asked:

on 24 May 2024

Commented:

on 24 May 2024

Community Treasure Hunt

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

Start Hunting!