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)

Risposte (4)

Adam Danz
Adam Danz il 5 Feb 2020
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 il 5 Feb 2020

0 voti

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 Commento

Adam Danz
Adam Danz il 5 Feb 2020
Modificato: Adam Danz il 5 Feb 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.

Accedi per commentare.

Star Strider
Star Strider il 5 Feb 2020

0 voti

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 il 5 Feb 2020

0 voti

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 Commenti

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 il 5 Feb 2020
Modificato: Adam Danz il 5 Feb 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

Accedi per commentare.

Categorie

Richiesto:

il 5 Feb 2020

Modificato:

il 5 Feb 2020

Community Treasure Hunt

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

Start Hunting!

Translated by