Why calling the functions works fine in the first run, but causes error after that?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Steven Lord
2023-2-22
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!