Not enough input arguments.

I'm new to matlab and am getting the following error
Not enough input arguments.
Error in epithelialTransportFunc (line 20)
G = IC(1);
I'm setting the functions as the following:
% create temporary variables for cell concentrations to make it easier
% to read code
G = IC(1);
Na = IC(2);
K = IC(3);
Cl = IC(4);
The input fuction is the following
function [Cout] = epithelialTransportFunc(t, IC, cs, sglT, NaK, NaCl, ...
glut, perm, cc, nT, mPot, F, R, T)

Réponses (4)

Adam Danz
Adam Danz le 5 Fév 2020

0 votes

My guess is that you have a function named IC with two or more required inputs. But you're treating IC as variable so when you index IC(1) you get the error.
To confirm this, run
which IC -all
If this isn't the problem, provide the entire copy-pasted error message.
Martin Pieters
Martin Pieters le 5 Fév 2020

0 votes

When I run IC -all I get the following error
>> IC -all
Unrecognized function or variable 'IC'.
Also how do I model the file from the GUI and run the GUI?
Im running Matlab R2019b version
MOP

1 commentaire

Adam Danz
Adam Danz le 5 Fév 2020
Modifié(e) : Adam Danz le 5 Fév 2020
Sharing error messages is extremely helpful but we need the entire copy-pasted error message; all of it.
Also, this isn't what I suggested you do. Look again.

Connectez-vous pour commenter.

Star Strider
Star Strider le 5 Fév 2020

0 votes

You did not pass ‘IC’ (and likely others) as an argument.
Check to be certain you are calling the function correctly in your script. You must call it with all the input arguments, and those arguments must be present in your workspace. You cannot run it by clicking on the green ‘Run’ arrow in the Editor.
Martin Pieters
Martin Pieters le 5 Fév 2020

0 votes

Attched is the error message
>> epithelialTransportFunc
Not enough input arguments.
Error in epithelialTransportFunc (line 20)
G = IC(1);
I can also share the code if that would help.
MOP

2 commentaires

No need to share the code, at least not right now since that’s not where the problem is.
Be absolutely certain that all the argumetns are present in your workspace, and then call the function in your script as:
Cout = epithelialTransportFunc(t, IC, cs, sglT, NaK, NaCl, glut, perm, cc, nT, mPot, F, R, T)
Running it (without a semicolon at the end of the line) should print ‘Cout’ to your Command Window.
Adam Danz
Adam Danz le 5 Fév 2020
Modifié(e) : Adam Danz le 5 Fév 2020
The error happens at this line
G = IC(1);
which indicates IC may be a function with 2 or more required inputs (as my answer explains).
Once again, please run this line of code which you havne't done yet.
which IC -all

Connectez-vous pour commenter.

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by