How to replace a value in function

2 Ansichten (letzte 30 Tage)
Elanorin Weaving
Elanorin Weaving am 20 Jun. 2015
Kommentiert: Azzi Abdelmalek am 21 Jun. 2015
Hello, I automate the following function
f=@(x)0;
for i=1:3
h=@(x)x(i)^2
f=@(x) f(x) +h(x) % f= x(1)^2+x(2)^2+x(3)^2
end
The ISSUE IS:I want to replace x(3) =3 , so that the function would instead represent f=x(1)^2+x(2)^2+9. Is it possible?
Background information: My main goal is to to automatically create an abstract function (not necessarily the one mentioned above), replace it with known values of x and minimize it.
Any help whatsoever is hugely appreciated!
Thank you, Ela

Antworten (2)

Image Analyst
Image Analyst am 20 Jun. 2015
Abandon all that complicated nonsense, and simply do this:
x = 1 : 3;
f = sum(x.^2)
  1 Kommentar
Elanorin Weaving
Elanorin Weaving am 20 Jun. 2015
The actual function i want to minimize is something like:
((((x(3)-x(1))^2 + (x(4)-x(2))^2 -25)/25)^2 +(((x(5)-x(1))^2 + (x(6)-x(2))^2 -9)/9)^2) +2*x(2)
I am able to generate the function. Although would appreciate a more optimal way.
The ISSUE is, I want to substitue x(4)=5, x(3) = 4 so that the function would look like ((((4-x(1))^2 + (5-x(2))^2 -25)/25)^2 +(((x(5)-x(1))^2 + (x(6)-x(2))^2 -9)/9)^2) +2*x(2)
and I can minimize the above.

Melden Sie sich an, um zu kommentieren.


Azzi Abdelmalek
Azzi Abdelmalek am 21 Jun. 2015
f=@(x) x^2
som=0
for k=1:3
som=som+f(k)
end
  2 Kommentare
Elanorin Weaving
Elanorin Weaving am 21 Jun. 2015
Thanks for the response! I don't have problems creating the function, but rather replacing a variable in function.
For eg: I am able to create f(x) = x(1)^2+x(2)^2. Is there anyway to make the function f(x) = x(1)^2 + 4, and minimize it.
Thanks again!
Azzi Abdelmalek
Azzi Abdelmalek am 21 Jun. 2015
f=@(x) sum(x.^2)
f(1:3)

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by