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

25 Ansichten (letzte 30 Tage)
sam am 2 Feb. 2013
Beantwortet: Image Analyst am 5 Dez. 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 KommentareKeine anzeigenKeine ausblenden
Image Analyst am 2 Feb. 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 am 2 Feb. 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) .

Melden Sie sich an, um zu kommentieren.

### Antworten (3)

Daniell Algar am 2 Feb. 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 KommentareKeine anzeigenKeine ausblenden
Youssef Khmou am 2 Feb. 2013
Hi, the x axis above will not give the right value 0.7 .
Daniell Algar am 2 Feb. 2013
As I said...

Melden Sie sich an, um zu kommentieren.

Youssef Khmou am 2 Feb. 2013
Hi , Sam
Using Symbolic Math ToolBox :
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')
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Image Analyst am 5 Dez. 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);
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by