Finding x-values from found y-values
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/162028/image.png)
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
0 comentarios
Respuestas (3)
Justin
el 2 de Mayo de 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 comentarios
Azzi Abdelmalek
el 2 de Mayo de 2014
Editada: Azzi Abdelmalek
el 2 de Mayo de 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)
0 comentarios
Image Analyst
el 2 de Mayo de 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.
0 comentarios
Ver también
Categorías
Más información sobre Graphics Object Properties en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!