multipying character in array number

2 vues (au cours des 30 derniers jours)
best16 programmer
best16 programmer le 21 Nov 2016
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

Azzi Abdelmalek
Azzi Abdelmalek le 21 Nov 2016
repmat({'a'} ,1,5)
  1 commentaire
best16 programmer
best16 programmer le 21 Nov 2016
thank you. but what if we have a.*[1 -1 1 -1 -1] how can we get [a -a a -a -a]

Connectez-vous pour commenter.

Plus de réponses (2)

Star Strider
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
Star Strider
Star Strider le 21 Nov 2016
My pleasure.
Note that it also allows for ‘0’ entries in ‘v’.
James Tursa
James Tursa le 21 Nov 2016

Connectez-vous pour commenter.


Philip Borghesani
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]])'

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by