Error using readcell ...Input must be a row vector of characters or string scalar.

5 visualizzazioni (ultimi 30 giorni)
Hi,
I am getting this error when calling readcell:
>> direct = readcell('Scopus.xlsx'); %Scopus.xlsx is a spreadsheet in the current directory.
Error using readcell (line 140)
Input must be a row vector of characters or string scalar.
To make sure that it is not a coding problem, I exectuted the live script example from readcell documentation and I get the same error:
Advice will be appreciated.
Leon
  5 Commenti
dpb
dpb il 5 Dic 2020
Modificato: dpb il 5 Dic 2020
"matlabroot is not a valid option for rehash. "
That's cuz you didn't use the functional form as I showed but command syntax instead-- matlabroot is a builtin function that returns the root folder of the installation; rehash needs the path, not an option argument.
That said, it's probably not going to solve the problem anyway.
Is the a new install and symptom from beginning or something that has shown up recently and (as far as you know, anyway) used to work?
If a shutdown/restart of MATLAB doesn't make it go away, try a reboot. If that doesn't, a reinstall is probably in order.
Leon Y. Deouell
Leon Y. Deouell il 5 Dic 2020
I actually used teh functional form just as you suggsted dbp
>> rehash(matlabroot)
Error using rehash
No such rehash option
matlabroot on its own indeed returns the path:
>> matlabroot
ans =
'C:\Program Files\MATLAB\R2019a'

Accedi per commentare.

Risposte (1)

Ameer Hamza
Ameer Hamza il 5 Dic 2020
This error is thrown inside the try-catch block. So we can't see what is causing the error, but the most common reason is that you have created a custom-function which is named the same as MATLAB's built-in function. The following procedure will help you spot the file.
1. Run the following line in command window
dbstop if caught error
2. Run your code again. It will automatically pause at the line which is causing the error.
3. Note the name of the file in which the debugger paused.
4. If it is a file which you created, or installed by some external toolbox, i.e., not a part of a MATLAB's toolboxes, then either rename it or remove it from MATLAB path.
5. Run following line to restore debugger to previous state
dbclear if caught error
  3 Commenti
Ameer Hamza
Ameer Hamza il 6 Dic 2020
In this case, error will be caused because of some functions being internally called by readcell(). For example same happened with this OP: https://www.mathworks.com/matlabcentral/answers/663603-readmatrix-not-enough-input-arguments
Leon Y. Deouell
Leon Y. Deouell il 11 Dic 2020
Thanks for your help. I tracked the problem to an outdated 'fileparts.m' file that was high on my path.

Accedi per commentare.

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by