multipying character in array number
Mostra commenti meno recenti
i want to create a character array for example if a.*[1 1 1 1] we get [a a a a] thank you.
Risposta accettata
Più risposte (2)
Star Strider
il 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 Commenti
best16 programmer
il 21 Nov 2016
Modificato: best16 programmer
il 21 Nov 2016
Star Strider
il 21 Nov 2016
My pleasure.
Note that it also allows for ‘0’ entries in ‘v’.
James Tursa
il 21 Nov 2016
To generate a random vector with the values either +1 or -1, see this link:
Philip Borghesani
il 21 Nov 2016
Modificato: Philip Borghesani
il 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]])'
Categorie
Scopri di più su Logical in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!