1d function varies with time: plot

Hi,
I have a very simple problem:
Given is a known function u(x,t). I want to create a x-y-plot, where the x-values vary with the time.
I have no experience with this yet. Can someone tell me which function I need to plot this problem?
Thank you in advance!

 Accepted Answer

Cris LaPierre
Cris LaPierre on 13 Nov 2020
It would probably be a good use of your time to go through MATLAB Onramp. Ch 9 covers plotting, but it sounds like you might want to start at the beginning.

8 Comments

Yes, I should really start at the beginning.
But can you show me an example? Let us say I want to plot u(x,t)=x*t in the Intervalls (0,10) for both x and t. How does the Code look like?
Thank you again!
Use the documentation at least. The page for plot contains several examples.
I know how to plot a simple function like
x=0:1:20; y=3.*y; plot(x,y);
or a surface in a 3D-plot.
But I do not know how I can add the time Dependance to the plot.
Is it really just the plot-function what I need?
Cris LaPierre
Cris LaPierre on 13 Nov 2020
Edited: Cris LaPierre on 13 Nov 2020
If you can share a specific problem, I might be able to provide a more specific answer.
So lets say I have the function y(x)=x. I plot it with
x=0:1:20 y=x Plot(x,y)
No problem. Now I want to plot y(x,t)=x*t (a linear function where the slope is time-dependent)
So I want to have a plot-figure where I see how the slope changes in a given time Intervall (if I Look for instance 10 seconds on the Figure, I will see the curve y=10*x).
Could you please show me how that works?
It sounds like you want to view the interaction of 3 variables. If you want a 2D visualization, then know that MATLAB treats columns as series. Create all the results in a single matrix, with each column containg the results for a specifc time. Plotting the matrix creates a line for each column. Use colors, markers and linestyles in conjunction with a legend to identify the results for a specific series.
x=0:20;
t=0:10;
y=x'*t; % formulated to give a 21x11 matrix
plot(x,y)
legend("t="+string(t),"Location","eastoutside")
xlabel("x")
ylabel("y")
The other option is to use a 3D plot (plot3, scatter3, mesh, surf, bar3, etc). This allows you to see the interplay of all 3 variables.
[X,T]=meshgrid(x,t);
Y=X.*T;
surf(X,T,Y)
xlabel("X")
ylabel("t")
zlabel("Y")
You can also use the Plot tab to help you identify available visualizations for a particular variable. See my answer here for details on how to do that. It holds true if you use ctrl+lt click to select multiple variables as well. If you select x,t and y, you'll see just those plots that support visualizing those 3 variables.
Thank you!
But actually what I need is more a animation or Video. You plotted all the curves for 1 second to 10 seconds, so in total 10 curves for discrete timepoints .
I imagine it like: The figure opens. After 1 second, the figure shows the curve y=1*x, after 5 seconds y=5*x, after 10 seconds y=10*x. So it is a Video of how the x-valus change with time. Do you know what I mean?
Cris LaPierre
Cris LaPierre on 13 Nov 2020
Edited: Cris LaPierre on 12 Aug 2022
See this page in the doc.

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Asked:

on 13 Nov 2020

Edited:

on 12 Aug 2022

Community Treasure Hunt

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

Start Hunting!