recursive function with 2 variables doesnt work
1 view (last 30 days)
Show older comments
HorizonUnity
on 19 Feb 2020
Commented: HorizonUnity
on 19 Feb 2020
Hi there,
i try to get a recursive function
and for
for exampble:
i tried this function:
function x = s(p,t)
if t==1
x = p;
else
x = p*s(p,t-1)+(1-p)*(1-s(p,t-1));
end
end
but when i try to call it with
>> x = s(0.75,2)
i would expect something like
x = 0.625
but i get the error
Index in position 2 exceeds array bounds (must not exceed 1).
so i thought maybe i dont need the p in the function. So i tried:
function x = s(t) etc.
and it works for t=1. But when i call the function with
>> x = s(2)
Index exceeds the number of array elements (1).
What am i doing wrong?
0 Comments
Accepted Answer
the cyclist
on 19 Feb 2020
Edited: the cyclist
on 19 Feb 2020
For me, your function works as expected.
Maybe you accidentally also created a variable s in your workspace, and you are trying to access that instead of the function? What do you get from
which -all s
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!