Using a meshgrid or vector inside all function
2 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Honglei Chen
on 11 Oct 2018
You need to put
global a
in your cost function too. See the example in
HTH
3 Comments
Honglei Chen
on 11 Oct 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.
More Answers (0)
See Also
Categories
Find more on Linear Programming and Mixed-Integer Linear Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!