modify data stream by equating odd position=0

Dear sir/Ma'am
I have a data x=[1 2 3 4 5.........k]. Now I want a new data y=[0 2 0 4 0 6........k] from 'x' i.e, in new data stream the odd position's value will be '0' of 'x',rest values will be remain same as 'x'.and also want z= new data stream the even position's value will be '0' of 'x'.
What will be the matlab code?

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 11 Okt. 2020
Bearbeitet: Ameer Hamza am 11 Okt. 2020

0 Stimmen

k = 10;
x = 1:k;
y = x;
y(1:2:end) = 0;
z = x;
z(2:2:end) = 0;

5 Kommentare

Soumili Sen
Soumili Sen am 11 Okt. 2020
woow.. it's awsome. Thnks a lot. And thanks for suggetion.
Ameer Hamza
Ameer Hamza am 11 Okt. 2020
I am glad to be of help!
Soumili Sen
Soumili Sen am 1 Dez. 2020
Bearbeitet: Soumili Sen am 1 Dez. 2020
I have one query about this method
k = 10;
x = 1:k;
y = x;
y(1:2:end) = 0;
p=h1*y+80;
Here I don't want to use 2 lines to assign the value of y in this same logic. I want to get same value of y,within the expression of p(without writting previous two line).IS it possible?
Thanks in advance
Ameer Hamza
Ameer Hamza am 1 Dez. 2020
Bearbeitet: Ameer Hamza am 1 Dez. 2020
Following shows one way to decrease the number of lines
k = 10;
x = 1:k;
p = h1*x.*((-1).^(1:k)>0)+80
But it is obviously more complicated and less readible.
ok,thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by