recursive function with 2 variables doesnt work
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
the cyclist
2020-2-19
编辑:the cyclist
2020-2-19
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!