How to create matrices of Symbolic Variables in an earlier version of Symbolic toolbox

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

답변 (3개)

Alan Weiss
Alan Weiss 2013년 6월 18일
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
Azzi Abdelmalek 2013년 6월 18일
편집: Azzi Abdelmalek 2013년 6월 18일
N=10;
evalin('base',['y=sym([x1' sprintf(' ,x%d ',2:N) '])'])
Andrei Bobrov
Andrei Bobrov 2013년 6월 18일
편집: Andrei Bobrov 2013년 6월 18일
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);

카테고리

도움말 센터File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

질문:

2013년 6월 18일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by