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.

Kategorien

Mehr zu Programming finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by