Given y, how do I find the value for x?

2 次查看(过去 30 天)
I plotted the function:
x = 0:0.01:2;
y=(1.96./x).*(1-exp(-0.83.*x));
I want to know the x value when y=1. I want to use an interp1 function, but that will only give me y values. Is there a function to find x values?
Also, I can't get my x-axis correct. I want it to span 0-2 (the value I'm looking for is around 1.3) with step sizes of 0.001 (for more precision). Currently, it goes 0 to 200 and I'm at a loss of what to do.
Thanks for the help.

采纳的回答

Andrei Bobrov
Andrei Bobrov 2013-9-18
>> f2 = @(y)arrayfun(@(y)fzero(@(x)1.96./x.*(1-exp(-0.83.*x))-y,1),y);
>> f2([.03 1 12])
ans =
65.333 1.2859 -3.8605
  1 个评论
Will
Will 2013-9-18
Thanks! That gets me the correct answer. However, my matlab understanding is very limited, could you explain a little more how the fzero function and the arrayfun work?
Also, I still have the issue with my x axis being on the wrong order of magnitude.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by