簡體   English   中英

如何在給定 Y 值的情況下找到 X 值並在 plot 上顯示點

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM