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

1 visualizzazione (ultimi 30 giorni)
Muhannad
Muhannad il 24 Giu 2015
Commentato: Muhannad il 24 Giu 2015
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,

Risposte (2)

Azzi Abdelmalek
Azzi Abdelmalek il 24 Giu 2015
Modificato: Azzi Abdelmalek il 24 Giu 2015
Just do this
plot(y)
  6 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 24 Giu 2015
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 il 24 Giu 2015
can you show the final results in plot(y(ind))? as I need the indices and not the plot.

Accedi per commentare.


Purushottama Rao
Purushottama Rao il 24 Giu 2015
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 Commenti
Purushottama Rao
Purushottama Rao il 24 Giu 2015
Modificato: Purushottama Rao il 24 Giu 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 il 24 Giu 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?

Accedi per commentare.

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by