Plotting (1-2*x)*log((1-x)/x)

Hello!. I am very new to matlab and wanna know how can I plot
y=(1-2*x)*log((1-x)/x) function?
I tried to write it like that but it did not work as i expected.. It plots something else..
thanks..
and also why i cannot plot (1/x)? thanks.

2 commentaires

Geoff Hayes
Geoff Hayes le 8 Mar 2015
Kemal - what is the code that you are using to plot your above y? What have you initialized x as?
kemal sen
kemal sen le 8 Mar 2015
Modifié(e) : Walter Roberson le 16 Nov 2020
I used this
x=0:0.2:1;
y=(1-2*x)*log((1-x)/x) ;
plot(x,y)

Connectez-vous pour commenter.

Réponses (2)

Giorgos Papakonstantinou
Giorgos Papakonstantinou le 8 Mar 2015
Modifié(e) : Giorgos Papakonstantinou le 8 Mar 2015

1 vote

The problem occurs inside the log parenthesis. The syntax that you have used tells Matlab to solve the equation:
x = B/A
for x. Check the documentation for mrdivide to get more a thorough explanation.
If you want to do element-wise arithmetic operations (division, power, etc.) then you have to use . before each operation. Look for more information here.
In your case you have to modify your equation:
y=(1-2.*x).*log((1-x)./x)
Here the log function computes the natural logarithm.
or
y=(1-2.*x).*log10((1-x)./x)
Here the log10 function computes the logarithm when the base is 10
For example if:
x=0:0.02:1;
y=(1-2*x).*log((1-x)./x) ;
plot(x,y)
the result is:

1 commentaire

kemal sen
kemal sen le 8 Mar 2015
Modifié(e) : kemal sen le 8 Mar 2015
Thank you very much..

Connectez-vous pour commenter.

D tk
D tk le 16 Nov 2020

0 votes

plot y=0.5*ln(pi*e),e is exp^1

Catégories

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by