If there is a method to define the size of unknown vector x rather than this ???

7 views (last 30 days)
I want to define the size of x vector, rather than this.. x=sym('x%d%d', [27 1]) where my size is 27*1

Accepted Answer

John D'Errico
John D'Errico on 24 Feb 2018
Edited: John D'Errico on 24 Feb 2018
x = sym('x',[27,1]);
  3 Comments
Karan Gill
Karan Gill on 26 Feb 2018
Post your full code and data. Your question is not clear otherwise. If you get an error, try a search for the error message to understand what is happening.
M.Shaarawy
M.Shaarawy on 26 Feb 2018
function y = simple_fitness(x) load A.mat; % 27*27 matrix load obs.mat; % 27*1 vector y=norm(A*x-obs,2);

Sign in to comment.

More Answers (1)

Steven Lord
Steven Lord on 26 Feb 2018
If you're passing a function handle to costfun into some optimizer, you don't have to create x in your code (and you should not do so.) The optimizer will pass an x it has created into your function as the input argument and you just need to use it.
As an efficiency note, I would avoid calling load inside your objective function. Your objective function is likely to be called many times and all that disk access will take time. Call load twice outside the function and pass the variables you loaded into your objective function as extra parameters using one of the techniques described on that documentation page.

Categories

Find more on Get Started with Optimization Toolbox 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!