multipying character in array number
Ältere Kommentare anzeigen
i want to create a character array for example if a.*[1 1 1 1] we get [a a a a] thank you.
Akzeptierte Antwort
Weitere Antworten (2)
Star Strider
am 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 Kommentare
best16 programmer
am 21 Nov. 2016
Bearbeitet: best16 programmer
am 21 Nov. 2016
Star Strider
am 21 Nov. 2016
My pleasure.
Note that it also allows for ‘0’ entries in ‘v’.
James Tursa
am 21 Nov. 2016
To generate a random vector with the values either +1 or -1, see this link:
Philip Borghesani
am 21 Nov. 2016
Bearbeitet: Philip Borghesani
am 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]])'
Kategorien
Mehr zu Logical finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!