multipying character in array number
Afficher commentaires plus anciens
i want to create a character array for example if a.*[1 1 1 1] we get [a a a a] thank you.
Réponse acceptée
Plus de réponses (2)
Star Strider
le 21 Nov 2016
‘what if we have a.*[1 -1 1 -1 -1] how can we get [a -a a -a -a]’
That requires a loop, but it works:
v = [1 -1 1 -1 -1];
a_vec = [];
for k1 = 1:length(v)
if v(k1) > 0
a_vec = [a_vec ' a '];
elseif v(k1) < 0
a_vec = [a_vec '-a '];
elseif v(k1 == 0)
a_vec = [a_vec ' 0 '];
end
end
a_vec =
a -a a -a -a
3 commentaires
best16 programmer
le 21 Nov 2016
Modifié(e) : best16 programmer
le 21 Nov 2016
Star Strider
le 21 Nov 2016
My pleasure.
Note that it also allows for ‘0’ entries in ‘v’.
James Tursa
le 21 Nov 2016
To generate a random vector with the values either +1 or -1, see this link:
Philip Borghesani
le 21 Nov 2016
Modifié(e) : Philip Borghesani
le 21 Nov 2016
Did you really want a character array?
>> syms a
>> b=a.*[1 -1 1 -1 -1]
b =
[ a, -a, a, -a, -a]
To get a character array you can do
>> char(b)
ans =
'matrix([[a, -a, a, -a, -a]])'
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!