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?

 採用された回答

the cyclist
the cyclist 2020 年 2 月 19 日
編集済み: the cyclist 2020 年 2 月 19 日

0 投票

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 件のコメント

HorizonUnity
HorizonUnity 2020 年 2 月 19 日
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!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by