[英]How to find X value given Y value and show the point on a plot
我試圖在使用以下 matlab function 生成的 plot 中找到一個值。 我試過用這個 z=find(y==0.0625); 但它似乎沒有工作。
function con = funcCon (cMax)
% Time when the max concentration happens.
B = 3;
% mg to administer.
A = (cMax / B) * exp(1);
% Time.
t = [1:50];
y(1,1) = 0;
for i = 2:50
con = A*t(1,i)*exp(-t(1,i)/B);
y(1,i) = con;
end
plot(t,y)
end
由於您將t
離散化為 1:50 在網格上,因此您只能從該網格中的t
獲得 y 與 0.0625 最接近的值。
這是通過以下方式找到的:
[smallest_differance approx_t]=min(abs(y-0.0625) );
但是,如果您想要一個更准確的解決方案,您可以將 y 寫為 t 的 function:
y = @(t) abs ( A*t.*exp(-t./B)-0.0625);
t_solved = fminbnd(y,1,50)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.