I am trying to find the the value x that make y approximately zero. Here is what I did:
e= 0.001 %error bar
for x = linspace(100, 170, 1000);
y = 18.9*log(x/170) +0.0042*(x-170) + 8.314*log(0.000267/0.0001413);
end
Thanks in advance.

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 12 Jul. 2015

0 Stimmen

e= 0.01 %error bar
x = linspace(100, 170, 1000);
y = 18.9*log(x/170) +0.0042*(x-170) + 8.314*log(0.000267/0.0001413);
idx=find(abs(y)<e)

4 Kommentare

Abdullah Al-Alawi
Abdullah Al-Alawi am 12 Jul. 2015
Thank you for your quick response. That really helped me, but I want to know the value of X. like what value of x between this range( 100 to 170) that make Y approximately equal to zero. Thank you though for your time.
If you are looking for the nearest value to 0.
e= 0.01 %error bar
x = linspace(100, 170, 1000);
y = 18.9*log(x/170) +0.0042*(x-170) + 8.314*log(0.000267/0.0001413);
[max_val,index_val]=min(abs(y))
Abdullah Al-Alawi
Abdullah Al-Alawi am 12 Jul. 2015
Thank you! Much Appreciated!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 12 Jul. 2015

1 Stimme

Consider
x0 = fzero( @(x) 18.9*log(x/170) +0.0042*(x-170) + 8.314*log(0.000267/0.0001413), [100, 170]);

1 Kommentar

Abdullah Al-Alawi
Abdullah Al-Alawi am 12 Jul. 2015
Thank you Walter! That's indeed a faster way! Much Appreciated! You Rock!

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by