Creating a Simbolic vector and setting assumptions on it

3 vues (au cours des 30 derniers jours)
Hi,
I'm trying to build a symbolic vector with variable dimension N, and I would like it to be real...
I managed to build the vector with the desired lenght throug str2sym, but I don't know how to set assumption "real" on its variables.
(I would like to use this vector for a linear system).
stot2=[' '];
for i=1:N
A = i;
s1=sprintf(' u%d, ',A);
s2=sprintf(' v%d, ',A);
s3=sprintf(' w%d ',A);
stot2=strcat(stot2, s1, s2, s3);
end
U1=['[' stot2 ']'];
U=str2sym(U1)
Thanks for any help!

Réponse acceptée

Walter Roberson
Walter Roberson le 12 Août 2019
u = sym('u', [1 N], 'real');
v = sym('v', [1 N], 'real');
w = sym('w', [1 N], 'real');
U = [u, v, w];
  3 commentaires
madhan ravi
madhan ravi le 13 Août 2019
Modifié(e) : madhan ravi le 13 Août 2019
reshape([u;v;w],1,[])
Francesco Giuseppe Fornari
Francesco Giuseppe Fornari le 13 Août 2019
thanks, it works perfectly!

Connectez-vous pour commenter.

Plus de réponses (1)

Divya Gaddipati
Divya Gaddipati le 12 Août 2019
You can declare assumptions on symbolic variables using the assume function from the Symbolic Math Toolbox. For more information on how to use this function, refer to this link.
In your code, since “U” is a sym object, you can directly loop over U and set each of the variable to real.
for i = 1 : length(U)
assume(U(i), 'real');
end

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by