How to create matrices of Symbolic Variables in an earlier version of Symbolic toolbox
1 view (last 30 days)
Show older comments
Hi,
Is there any way in which a command with similar functionality as X = sym('x',[2*N,1]); can be worked with an earlier version of Matlab where such commands are not supported..any answer in the right direction will be appreciated.
I currently work on an optimization problem of a throughput model (in commodities). The large number of related variables necessitates me to use symbolic toolbox to create matrices (or arrays) of symbolic vars..Unfortunately, the old version of Matlab is not supporting the command.
thanks,
Hari
0 Comments
Answers (3)
Alan Weiss
on 18 Jun 2013
This might not be as slick as the other answers, but it is in the documentation, and is easy to generalize.
Alan Weiss
MATLAB mathematical toolbox documentation
Azzi Abdelmalek
on 18 Jun 2013
Edited: Azzi Abdelmalek
on 18 Jun 2013
N=10;
evalin('base',['y=sym([x1' sprintf(' ,x%d ',2:N) '])'])
0 Comments
Andrei Bobrov
on 18 Jun 2013
Edited: Andrei Bobrov
on 18 Jun 2013
2D symbolic array with size [7 x 5]:
m = 7; n = 5;
[ii,jj] = ndgrid(1:n,1:m);
v = sprintf('x%d%d,',[ii(:),jj(:)]');
X = reshape(sym(['[',v(1:end-1),']']),m,[]);
ADD after Alan Weiss's answer
m = 7; n = 5;
[ii,jj] = ndgrid(1:m,1:n);
s = arrayfun(@(x,y)sprintf('x%d_%d',x,y),ii,jj,'un',0);
X = sym(s);
0 Comments
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!