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?

 Réponse acceptée

the cyclist
the cyclist le 19 Fév 2020
Modifié(e) : the cyclist le 19 Fév 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

1 commentaire

Hey thanks for your answer!
>> which -all s
s is a variable.
you where absolutly right! I deleted the variable und now it works!
Thank you very much!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by