MATLAB: Regarding data exchange between excel & Matlab

excelgenetic algorithmlinkMATLAB

Hello, I would like to ask a question regarding data exchange between excel & Matlab. I am using the built-in GA toolbox for optimization of a certain problem. The objective function is inserted in excel as it is exported from a third party program. The variables of the objective function are optimized in GA toolbox then send these variables to the excel to calculate the newer value of the objective function and so on. My question is how can I keep sending the values between matlab & excel automatically. I mean I would like to see the value updated in excel while matlab is running. Also, is it possible to break the loop of GA toolbox to perform some mathematical operations in excel for the objective function. Thanks in advance

Best Answer

you can try using the Spreadsheet Link EX toolbox. Basically, you can roughly use the following steps:
  1. Send the variables of objective function from Excel to MATLAB using function MLPutMatrix
  2. Call MLEvalString (from Excel) to invoke the MATLAB function file that optimizes these variables
  3. Call MLGetMatrix (from Excel) to read in the resulting variables from MATLAB
In essence, you'd be using MLPutMatrix, MLEvalString and MLGetMatrix.