readmatrix "not enough input arguments"

I'm getting a really strange error when trying to use readmatrix() to load a .csv file. It tells me there's not enough input arguments!
d_obs = readmatrix(sprintf('%s/%s',NMR_path,NMR_obs_filename));
this is the command I'm using. The strange thing is that just last week, this worked perfectly, and I have not changed anything since then. If it is at all related, I also get a message "The import tool doesn't have access to read the file" when I try to open the file directly by double-clicking it in the current folder tab. I checked the files and they're not empty.
Anyone got some idea of what is going on here?

9 Comments

Is it possible that NMR_path or NMR_obs_filename are empty?
What shows up for
which -all readmatrix
The filenames are not empty, and I have also tried readmatrix('filename.csv') directly, with the same error.
I get the following:
>> which -all readmatrix
C:\Program Files\MATLAB\R2020b\toolbox\matlab\iofun\readmatrix.m
Can you post the complete error message. Everything in red.
As a sidenote, the MATLAB's way to create complete path is something like this
d_obs = readmatrix(fullfile(NMR_path,NMR_obs_filename));
Error using readmatrix (line 157)
Not enough input arguments.
Error in invert_logdist (line 31)
d_obs = readmatrix(fullfile(NMR_path,NMR_obs_filename));
Error in Generate_and_invert (line 84)
[x,T2dist,CI,resnorm,output]=invert_logdist(data,param,opt);
The error occurs inside a try-catch block. Can you run the following line in the command window
dbstop if caught error
and then rerun your code. MATLAB will pause the code at the line where the error occurs. Show us the file and the line at which error occurs?
Try this:
which invert_logdist -all
That might give some idea of what the problem is, since I very much doubt that readmatrix does any processing.
Also, please post the MATLAB release/version you are using.
>> which invert_logdist -all
C:\Users\frede\Documents\MATLAB\NMR Project\Alt\Alternative Approach testing\Easy to use\invert_logdist.m
I'm using R2020b :)
What else is in the
C:\Users\frede\Documents\MATLAB\NMR Project\Alt\Alternative Approach testing\Easy to use\
directory?

Sign in to comment.

 Accepted Answer

Ameer Hamza
Ameer Hamza on 26 Nov 2020
Edited: Ameer Hamza on 26 Nov 2020
You have defined a function name replace() placed on path
C:\...\Thesis\emi-matlab-master\EMI_Calibration\replace.m
which is shadowing the MATLAB's built-in function named replace(). Rename your function to something else.

2 Comments

OH! This makes sense, the scripts in this folder are not written by me and I only recently added it to my directory. Thank you!
I am glad to be of help!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!