How to loop over a function call?
3 ビュー (過去 30 日間)
古いコメントを表示
I want to evaluate a function Least_square(), over multiple iterations and return its sum. I am currently doing this by
fun = @(x) ( Least_square(x,y1) + Least_square(x,y2) + Least_square(x,y3) + Least_square(x,y4) )
Is there a better method to do this? Since I may want to evaluate it over multiple iterations
Thanks
2 件のコメント
David Hill
2021 年 9 月 20 日
Do not understand what you want. What are x.Nd and x.mD1? It does not look like you are changing the inputs to your function.
採用された回答
Walter Roberson
2021 年 9 月 20 日
編集済み: Walter Roberson
2021 年 9 月 20 日
y = [y1, y2, y3, y4]
fun = @(x) reshape(sum(arrayfun(@(Y) Least_square(x(:), Y), reshape(y, 1, [])),2), size(x))
5 件のコメント
Walter Roberson
2021 年 9 月 20 日
In the case that you know that Tvalues and so on are row vectors, then you can leave out the (:).'
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!