How to graph ln(x^2)=0.7?

21 visualizaciones (últimos 30 días)
sam
sam el 2 de Feb. de 2013
Respondida: Image Analyst el 5 de Dic. de 2022
I know how to graph f(x) equations in matlab but I have no idea how I would enter ln(x^2)=0.7 and have it plotted? Sorry I am very new to matlab.
  2 comentarios
Image Analyst
Image Analyst el 2 de Feb. de 2013
What is there to plot? You can solve for x, but you have no y values to plot. You only have two isolated x values that solve the equation but you don't have any dependent variable to plot, unless you want to say y = ln(x^2) and plot that, then plot a horizontal line at y = 0.7 and observe where it intersects the first plot. Is that what you want to do?
Youssef  Khmou
Youssef Khmou el 2 de Feb. de 2013
i agree with "Image Analyst" , maybe "sam" wants to plot vertical lines as constants x1=(exp(0.5*0.7)) x2=-exp(0.5*0.7) .

Iniciar sesión para comentar.

Respuestas (3)

Daniell Algar
Daniell Algar el 2 de Feb. de 2013
Well, to plot the point f(x)= 0.7, I guess you would need to use a solver, e.g. ode45.
To just plot the function, you first specify the x-values, then calculates the y-values, then plot them, i.e.
x= 1: .1: 100;
y= log(x.^2);
figure(1)
plot(x, y)
  2 comentarios
Youssef  Khmou
Youssef Khmou el 2 de Feb. de 2013
Hi, the x axis above will not give the right value 0.7 .
Daniell Algar
Daniell Algar el 2 de Feb. de 2013
As I said...

Iniciar sesión para comentar.


Youssef  Khmou
Youssef Khmou el 2 de Feb. de 2013
Hi , Sam
Using Symbolic Math ToolBox :
You define your variable x and your constant c ( in your case c=0.7) and solve your equation :
syms x c
x=solve('log(x^2)=c');
figure, ezplot(x(1)), title(' Root 1')
figure, ezplot(x(2)), title(' Root 2')
You will get
x =
exp(1/2*c)
-exp(1/2*c)
Next , as c=0.7 in your example, you compute the solution numerically :
c=0.7; root1=exp(0.5*0.7); root2=-exp(0.5*c);
figure, plot(root1,0:0.001:1), hold on ,
plot(root2,0:0.001:1,'r'), legend(' root1','root2'),
title(' Solution log(x^2)=0.7')

Image Analyst
Image Analyst el 5 de Dic. de 2022
Try this:
x = linspace(1, 2, 10000);
y = log(x.^2);
plot(x, y, 'b-', 'LineWidth', 2)
hold on;
yline(0.7, 'Color', 'r', 'LineWidth', 2)
grid on;
% Find element of y closest to 0.7
[minDistance, index] = min(abs(y - 0.7))
minDistance = 3.6143e-05
index = 4191
xCrossing = x(index)
xCrossing = 1.4190
% Put a green line there
xline(xCrossing, 'Color', 'g', 'LineWidth', 2)
yCrossing = y(index)
yCrossing = 0.7000
caption = sprintf('y crosses 0.7 at x = %f', xCrossing);
title(caption);

Categorías

Más información sobre Line Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by