Why calling the functions works fine in the first run, but causes error after that?

2 vues (au cours des 30 derniers jours)
I have a function as below:
function p1 = p1(d,i,N)
a = 1./(d-i);
b = ((1+i)./(1+d)).^N;
p1 = a.*(1-b);
end
I called this function in a code like this:
d = 0.05;
i = 0.04;
N = 10;
p1 = p1(d,i,N);
The code runs fine in the first run, but causes error every other time.
The error is as:
Index in position 1 is invalid. Array indices must be positive integers or logical
values.
Error in test2 (line 5)
p1 = p1(d,i,N);

Réponse acceptée

Steven Lord
Steven Lord le 22 Fév 2023
Don't assign the output from the function p1 to a variable named p1. If you do you will not be able to call the function while the variable exists; attempts to do so will be treated as an attempt to index into the variable. Choose a different name for the output.

Plus de réponses (0)

Catégories

En savoir plus sur Data Import and Analysis dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by