Why calling the functions works fine in the first run, but causes error after that?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Anup
el 22 de Feb. de 2023
Respondida: Steven Lord
el 22 de Feb. de 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 comentarios
Respuesta aceptada
Steven Lord
el 22 de Feb. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Import and Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!