Finding x-values from found y-values

4 visualizzazioni (ultimi 30 giorni)
Michael
Michael il 2 Mag 2014
Risposto: Image Analyst il 2 Mag 2014
I have the previously pictured plot, and i have found the half intensity values using ginput. I now want to know how i can find the corresponding x values.
This is the code i have thus far: %% Experiment 6
load('Experiment_6.mat');
step_1 = (1:10000)/400;
step_2 = (1:20000)/400;
%%Data Analysis
% Data 1
plot(step_1,data_1); hold on;
y_1 = ginput(2);
y_1 = (y_1(:,2)).*.5
where step_1 corresponding to the x values and i want to find the x values that corresponding to the y values in the array y_1.
Any help will be much appreciated.
Thanks Michael

Risposte (3)

Justin
Justin il 2 Mag 2014
If I understand the question correctly you want may just be able to use ginput and ask it to return both the X and Y coordinates:
[X, Y] = ginput(2)
  4 Commenti
Michael
Michael il 2 Mag 2014
this worked... wow i really appreciate it
Justin
Justin il 2 Mag 2014
No problem, don't forget to choose best answer :)

Accedi per commentare.


Azzi Abdelmalek
Azzi Abdelmalek il 2 Mag 2014
Modificato: Azzi Abdelmalek il 2 Mag 2014
ymax=findpeaks(data_1)
ii1=find(data_1>ymax(1)/2,1)
ii2=numel(data_1)-find(fliplr(data_1)>ymax(2)/2,1)+1
step_width=step_1(ii2)-step_1(ii1)

Image Analyst
Image Analyst il 2 Mag 2014
I don't see any reason to use ginput at all unless you want the user to guess at the locations. You can use max() and find():
maxY = max(y);
halfMaxLeftIndex = find(y>=maxY/2, 1, 'first'); % x1
halfMaxRightIndex = find(y>=maxY/2, 1, 'last'); % x2
It finds the max value and then finds the first and last index in the array where y is greater than half the max value.

Categorie

Scopri di più su Graphics Object Properties in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by