Sorry everyone. I'm pretty new to matlab. My question was to graph an equation V against x for -4</= x </=4
This is the code I came up with:
x=linspace(-4,4);
V=(x.^3/3)-4*x;
plot(x,V)
xlabel('Position'),ylabel('Potential Energy')
I need to mark the x-intercepts on the graph. How do I go about doing that?

 Risposta accettata

Adam Danz
Adam Danz il 15 Nov 2019
Modificato: Adam Danz il 16 Nov 2019
Method 1: solve equation for y=0
Use the Symbolic Math Toolbox to solve for y=0; see inline comments for details.
% Solve for y=0
syms x
eqn = x.^3/3-4*x == 0;
xInt = double(solve(eqn)); % X values where y=0
yInt = zeros(size(xInt)); % Corresponding y values (all 0)
% plot function and x-intercepts
x=linspace(-4,4);
V=(x.^3/3)-4*x;
plot(x,V,'k-')
hold on
plot(xInt,yInt, 'm*','MarkerSize', 10)
yline(0)
Method 2: use intersections() to find x-intercepts
This uses the intersections() function from the file exchange to find the (x,y) coordinates of the x-intercepts.
x=linspace(-4,4);
V=(x.^3/3)-4*x;
[xInt,yInt] = intersections(x,V,x,zeros(size(V)));
% ^^ ^^ There are your intercept coordinates
plot(x,V,'k-')
hold on
plot(xInt,yInt, 'm*','MarkerSize', 10)
yline(0)
Both methods produce this figure

8 Commenti

Thank you!
Adam Danz
Adam Danz il 16 Nov 2019
@Daniel Matthew, I just added "Method 1" to my answer. It uses the Symbolic Math Toolbox to solve your equation for y=0 and therefore does not depend on a 3rd party FEX function.
The second method pops an error:
Undefined function 'intersections' for input arguments of type 'double'.
Any idea what is wrong?
Adam Danz
Adam Danz il 17 Ott 2022
@Abdennaser Hadab, the sentence under the "Method 2" heading tells you the answer and has a link :)
Abdennaser Hadab
Abdennaser Hadab il 18 Ott 2022
Modificato: Abdennaser Hadab il 18 Ott 2022
@Adam Danz thanks, I have been a bit confused but I realized I needed to download the file and put it in the same folder where my .m file is in order to call for the function with no issues.
I did not know I had to do this.
Adam Danz
Adam Danz il 18 Ott 2022
@Abdennaser Hadab, you figured it out! You can either add the file to the same folder containing the main m-file or you can store the file anywhere and make sure you add the path to the file using addpath in the m-file.
@Adam Danz thank for the tip!
Shyamini
Shyamini il 24 Gen 2024
@Adam Danz Thank you so much!! this helped tremendously

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2019b

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by