convert plot(x,y) to plot(y(ind))

Hi,
I am trying to convert plot(x,y) to plot(y(ind)) So i am interesting in getting the indices of x which gives me y?
Thanks,

Antworten (2)

Azzi Abdelmalek
Azzi Abdelmalek am 24 Jun. 2015
Bearbeitet: Azzi Abdelmalek am 24 Jun. 2015

0 Stimmen

Just do this
plot(y)

6 Kommentare

Muhannad
Muhannad am 24 Jun. 2015
Bearbeitet: Azzi Abdelmalek am 24 Jun. 2015
That will not work... my plot is
x = cumsum(hann(100));
y = linspace(-1,1,100);
plot(x,y);
I want to make it plot(y(ind))?
Azzi Abdelmalek
Azzi Abdelmalek am 24 Jun. 2015
Bearbeitet: Azzi Abdelmalek am 24 Jun. 2015
Indices of x are from 1 to numel(x). Is this right?
Muhannad
Muhannad am 24 Jun. 2015
Yes so the shape of the plot will be the same but the x axis will be different from 1 to 100.
Muhannad
Muhannad am 24 Jun. 2015
plot(x,y) vs plot(y) is show in the attachment which is different from what I want. So what I want is plot(y(ind)) should look like plot(x,y) in other word I want the indices of y which will give me a plot similar in shape to plot(x,y).
Hope this is clear.
x = cumsum(hann(100));
y = linspace(-1,1,100);
plot(x,y);
idx=1:10:100
set(gca,'xtick',x(idx))
nxt=arrayfun(@num2str,idx,'un',0)
set(gca,'xticklabel',nxt)
Muhannad
Muhannad am 24 Jun. 2015
can you show the final results in plot(y(ind))? as I need the indices and not the plot.

Melden Sie sich an, um zu kommentieren.

Purushottama Rao
Purushottama Rao am 24 Jun. 2015

0 Stimmen

g=interp1(y,x,0.5)
g gives you the x value corresponding to the given y value (0.5).
Use a for loop to find out the entire range.
Hope this is what you are looking for

3 Kommentare

Muhannad
Muhannad am 24 Jun. 2015
I am not sure if I am implementing it right, but a for look will be very slow as I am computing this for many values.
Purushottama Rao
Purushottama Rao am 24 Jun. 2015
Bearbeitet: Purushottama Rao am 24 Jun. 2015
x = cumsum(hann(100));
y = linspace(-1,1,100);
plot(x,y);
for k=1:length(y)
g(k)=interp1(y,x,y(k));
end
The speed looks to be ok. Ofcourse i do not know whether you are using the same x and y or not.
Muhannad
Muhannad am 24 Jun. 2015
so can you include another plot(y(ind)) which will give me the same shape as plot(x,y) but the x axis will be different and it will include the indices?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Hilfe-Center und File Exchange

Produkte

Tags

Gefragt:

am 24 Jun. 2015

Kommentiert:

am 24 Jun. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by