Using a meshgrid or vector inside all function
1 view (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 Matrices and Arrays 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!