Using a meshgrid or vector inside all function
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
hossein
am 11 Okt. 2018
Kommentiert: hossein
am 11 Okt. 2018
Hi
I am trying to run an optimization on a 2 variable f(x,y) function inside a region. This region is defined by a mesh-grid of points. Since this grid of points is not changed in every iteration of the optimization, I like to define this mesh grid before the optimization commands and outside my cost function so that the cost function has only unknown variables as input while inside it I can used the grid variable. I would like to do this:
global a a=[1 2 3] %the grid data here
and then the cost function of the optimization algorithm is like this: function out=costfun(x) out=x(1)*a(1)+x(1)*a(1)+...
but it does not work. every time the function is called, the global a variable is now know to it. I should give this grid to the function as input. what can I do about it? Thanks in advance
0 Kommentare
Akzeptierte Antwort
Honglei Chen
am 11 Okt. 2018
You need to put
global a
in your cost function too. See the example in
HTH
3 Kommentare
Honglei Chen
am 11 Okt. 2018
I'm trying to illustrate how global should be used in MATLAB. For a function to see the global variable, you need to add the global declaration in the function. It's a declaration, you don't need to redefine it.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Linear Programming and Mixed-Integer Linear Programming finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!