Writing summation inside function handle
古いコメントを表示
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 件のコメント
John D'Errico
2021 年 11 月 10 日
It depends. Is the function f vectorized? If it is, then the answer is simple, even trivial. But if you cannot pass a vector of elements to the function f and have f operate on each element independently, then the solution will be more complicated, and very different.
So everything depends on the function f, and since we are not told what f is or how it is written, then no definitive answer is possible.
Saurabh Madankar
2021 年 11 月 10 日
Saurabh Madankar
2021 年 11 月 10 日
回答 (1 件)
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.
カテゴリ
ヘルプ センター および File Exchange で Performance and Memory についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!