Create a function handle sum of other function

8 次查看(过去 30 天)
Hello everybody,
I try to create a function as sum of other functions, using data vectors of different size inside.
p = [0.1; 0.2; 0.3; 0.4] % p(i) is the weight associate
I get the from a Database a 4 x 6 parameter Matrix
C = [Data_11 Data_12 Data_13 Data_14 Data_15 Data_16
...
Data_41 Data_42 Data_43 Data_44 Data_45 Data_46];
I'm using an external function : func_ext(x, C_par)
— x is a scalar
— C_Par a 1x6 vector
I would like to create the following function handle as an inline function :
, where A is a constant
Do you have an idea ?
Thanks for help.
  2 个评论
Stephen23
Stephen23 2022-1-14
It looks like the core of that is actually a basic matrix multiplication.
When you write that you " to create the following function" do you mean a function in the MATLAB sense (e.g. a function handle) or just an array of values?

请先登录,再进行评论。

采纳的回答

Rik
Rik 2022-1-14
Your anonymous function will become more opaque and I expect the performance to suffer, but this will work:
fun=@(x) A;
for i=1:size(p,1)
fun=@(x) fun(x) + ...
p(i)*func_ext(x,C(i,:));
end
Although I would suggest using a different loop variable than i. You have the entire alphabet, so why use something that could be confused with sqrt(-1).

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by