Why calling the functions works fine in the first run, but causes error after that?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Anup
am 22 Feb. 2023
Beantwortet: Steven Lord
am 22 Feb. 2023
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);
0 Kommentare
Akzeptierte Antwort
Steven Lord
am 22 Feb. 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.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Data Import and Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!