Writing summation inside function handle

2 ビュー (過去 30 日間)
Saurabh Madankar
Saurabh Madankar 2021 年 11 月 10 日
回答済み: Aneela 2024 年 2 月 19 日
Hey,
I have this term
u = @(x) c(1)*f(3*(x-t(1)))+c(2)*f(3*(x-t(2)))+c(3)*f(3*(x-t(3)))+c(4)*f(3*(x-t(4)))+...
c(5)*f(3*(x-t(5)))+c(6)*f(3*(x-t(6)));
inside a function I have written. What I want is to write these six terms here using summation. So how should I go about it?
  3 件のコメント
Saurabh Madankar
Saurabh Madankar 2021 年 11 月 10 日
Here f is also a function handle, a function of x (which I have defined as a linearly spaced vector) which returns a scalar value.
Saurabh Madankar
Saurabh Madankar 2021 年 11 月 10 日
And yes I can't pass a vector of elements to f. It takes only one element at a time.

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

回答 (1 件)

Aneela
Aneela 2024 年 2 月 19 日
Hi Saurabh Madankar,
You can make use of the “sum” and “arrayfun” MATLAB functions to write these 6 terms using summation.
u = @(x) sum(arrayfun(@(k) c(k) * f (3 * (x - t(k))), 1:6));
Refer to the following links for further details on “sum” and “arrayfun“ functions in MATLAB.

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by