How to I create a function handle through recursion?

1 回表示 (過去 30 日間)
Nathan Phelps
Nathan Phelps 2020 年 10 月 26 日
コメント済み: Nathan Phelps 2020 年 10 月 26 日
I want to output a polynomial using values from a vector. Kind of like how you'd add recursively for a running sum, I'm trying to add terms recursively.
If my function is f(t) and A is a matrix of values, I'd want f(t) to be:
f(t) = A(1,1) + A(2,1) * t^1 + A(3,1) * t^2 + ... + A(n,1) * t^(n-1)
Edit: I forgot to add that I'm calculating the A matrix in the function, so the length isn't known, hence why I need to create the function recursively.

採用された回答

Stephen23
Stephen23 2020 年 10 月 26 日
編集済み: Stephen23 2020 年 10 月 26 日
I don't see any reason why you need any recursion, basic vectorized code works just fine:
V = 0:size(A,1)-1;
F = sum(A(:,1).*t.^V(:))
  3 件のコメント
Stephen23
Stephen23 2020 年 10 月 26 日
>> A = randi(9,5,3)
A =
7 8 4
1 7 4
3 3 7
1 9 8
1 1 2
>> V = 0:size(A,1)-1;
>> fun = @(t) sum(A(:,1).*t.^V(:));
>> fun(2)
ans =
45
>> fun(5)
ans =
837
Nathan Phelps
Nathan Phelps 2020 年 10 月 26 日
I read my initial output wrong, thanks for the help!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by