readmatrix not working in 2021b

48 visualizzazioni (ultimi 30 giorni)
Matthew Coile
Matthew Coile il 31 Ott 2021
Commentato: Image Analyst il 2 Nov 2021
I upgraded to MATLAB 2021b and readmatrix no longer works. In every case I have tried* I get the error
"Error using readmatrix (line 158)
Dimensions of arrays being concatenated are not consistent."
For example, when I follow the example in the documentation and create a basic_matrix text file with the same input as listed in the documentation and verify its contents as demonstrated in the documentation (as shown below), I get the following
>> type basic_matrix.txt
6,8,3,1
5,4,7,3
1,6,7,10
4,2,8,2
2,7,5,9
>> M = readmatrix('basic_matrix.txt')
Error using readmatrix (line 158)
Dimensions of arrays being concatenated are not consistent.
I have quite a bit of code which I previously used to read data from text files and I can no longer open this data in MATLAB.
I am running on an Intel 2020 MacBook Pro.
==========
*The one exception in which I can get readmatrix to work is a horizontal csv entries as shown below. I tried all combinations I could think of using csv extensions, space between entries, etc.
>> type test.txt
1,2
>> M = readmatrix('test.txt')
M =
1 2
  4 Commenti
Walter Roberson
Walter Roberson il 31 Ott 2021
Experiment with
restoredefaultpath; rehash toolboxcache
I suspect that you have a third-party function that is interfering with one of the built-in functions
Matthew Coile
Matthew Coile il 31 Ott 2021
Thanks, Walter. I tried this but it did not work unfortunately.
>> restoredefaultpath
>> rehash toolboxcache
>> M = readmatrix('basic_matrix.txt')
Error using readmatrix (line 158)
Dimensions of arrays being concatenated are not consistent.

Accedi per commentare.

Risposta accettata

Jeremy Hughes
Jeremy Hughes il 1 Nov 2021
I agree with the previous answer, but readmatrix is probably not what's being shadowed. It's probably something readmatrix relies on.
You can use the following to find the exact place where an error comes from:
>> dbstop if caught error.
But you may need to continue multiple times as readmatrix may encounter internal errors as part of normal functioning. So when you find the error you're looking for, check all the variable names and function on that line (and then in that function) to see if there's something showing up with "which -all <each-thing-on-that-line>".
You can also try removing anything from PATH that isn't part of the MATLAB installation. If this kind of issue persists between installs, it's probably something in a third-party install, or your personal MATLAB folder.
  4 Commenti
Steven Lord
Steven Lord il 2 Nov 2021
The height and width functions for arrays were introduced in release R2020b as stated in the Release Notes.
Image Analyst
Image Analyst il 2 Nov 2021
Can't you simply choose a new name for your height function? That's probably the easiest fix. Do control-shift-F at some top level folder and search all m-files for "height(". Any you calls to height() you see that are yours, change them to the new name you've picked for it.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by