fsolve does not work when combining functions

1 次查看(过去 30 天)
i have the following functions:
f1 = @(k1)108.4*k1
f2 = @(k2)108.4*k2
f3 = @(k3)108.4*k3
f1,f2,f3 are automatically generated, and can be very different. i would like to have a unifying function
f = f1 + f2 + f3
and i want to call f in solvers such as fsolve or fmincon. these are some suggestions i recieved:
sumf = @(k1,k2,k3) f1(k1)+f2(k2)+f3(k3);
sumf( 1, 2, 3 )
ans =
650.4000
or
sumf = @(k) f1(k)+f2(k)+f3(k);
sumf( 2 )
ans =
650.4000
but fsolve does not accept
sumf = @(k1,k2,k3) f1(k1)+f2(k2)+f3(k3);
fsolve takes the function in the form
sumf = @(k) f1(k(1))+f2(k(2))+f3(k(3));
is there any way to combine them so that they can be put into fsolve ?

采纳的回答

Matt Fig
Matt Fig 2012-9-28
编辑:Matt Fig 2012-9-28
Why won't this work?
sumf = @(k) f1(k(1))+f2(k(2))+f3(k(3));
sumf([1 2 3].')
fsolve(sumf,[3;1;2])

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Genetic Algorithm 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by