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

Azzi Abdelmalek
Azzi Abdelmalek am 21 Nov. 2016

0 Stimmen

repmat({'a'} ,1,5)

1 Kommentar

best16 programmer
best16 programmer am 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]

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Star Strider
Star Strider am 21 Nov. 2016

0 Stimmen

‘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
best16 programmer am 21 Nov. 2016
Bearbeitet: best16 programmer am 21 Nov. 2016
thank you ,it works.how we can generate the vector v in a random way.
Star Strider
Star Strider am 21 Nov. 2016
My pleasure.
Note that it also allows for ‘0’ entries in ‘v’.
James Tursa
James Tursa am 21 Nov. 2016

Melden Sie sich an, um zu kommentieren.

Philip Borghesani
Philip Borghesani am 21 Nov. 2016
Bearbeitet: Philip Borghesani am 21 Nov. 2016

0 Stimmen

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

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by