plotting on curve given only x value in a loop
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Benjamin
am 18 Mär. 2019
Beantwortet: Star Strider
am 18 Mär. 2019
I have the following code:
for i=1:1:10
plot(data{1, i}(:,2),data{1, i}(:,4));
C = data{1, i}(:,4)./data{1, i}(:,2);
vint = pi*sqrt(2)/3 * cumtrapz(data{1, i}(:,2), data{1, i}(:,4)./data{1, i}(:,2));
X_M(i) = interp1(vint, data{1, i}(:,2), 1);
X_M_temp = interp1(vint, data{1, i}(:,2), 1);
xlim([1 2]);
grid on;
hold on;
plot(X_M_temp,'o')
end
It basically computes an integral and X_M_temp is where the integral is equal to 1. You can see this is in a loop 10 times. If I have this X_M_temp, which is an x value of the plot, is there a way I can plot a symbol for each line (each time through the loop) where X_M_temp is the x-value, and the y-value should be wherever that falls on the current line on the plot? Note that X_M(i) stores the whole array, but I was having less luck using this, so I created X_M_temp which just holds the current value. However, I can't seem to get them to plot X_M_temp (the x-value) with whatever y-value that would correspond to on the line.
Note that
data{1, i}(:,2)
corresponds to the X-values. Could I interpolate X_M on here, and find the interpolated y-value (which would be in the
data{1, i}(:,4)
column)? X_M won't fall on an exact point in the x-data, so maybe I should interpolate the y-values? Maybe this way is overkill? Is there a way I can plot X_M for each line, such that the y-value is just where X_M crosses the line?
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Line Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!