# How to Plot(Time, Voltage) so that transient is captured for different inputs

15 visualizaciones (últimos 30 días)
James Perkins el 8 de Nov. de 2019
Respondida: ISIAKA SHUAIBU el 20 de Jul. de 2022
Hi, im working on some university coursework and am trying to do something with my plots. Id like someone to tell me if what im trying to do is possible, and if it is, how to do it?
The coursework is based on 2nd order ODE's. not using a numerical solver, I need to write a script which allows a user to input values for R, L & C, solves the 2nd order ODE, tells the user if the system is Under, Critically or Over damped and then plots voltage against time. (All of which i have already done).
My problem starts here; If the user is inputting different values each time, the plot will be different (voltage & time). the voltage on the Y axis automatically sets its own limits. However time along the x axis doesnt. This is because my voltage equation requires me to input time as a array.
Question: is it possible to write a script that changes the maximum point on the x axis (time) so that the graph captures the full transient?
See the attached figures, 'Good' shows the type of outcome im looking for, 'Bad' shows what im trying to stop happening when the user puts in different values to what i tested with.
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
dpb el 9 de Nov. de 2019
How do you set what the transient time length is?
Just use xlim to set the range you want...altho we'd have to see how you're doing the plots to see why the autoscaling isn't working for both axes; normally would expect it to do it automagically.

Iniciar sesión para comentar.

Daniel M el 9 de Nov. de 2019
One possible idea is to use a multiple of the time constant for the circuit. For a parallel RLC circuit this is 2RC, and for series it is 2L/R. Try 4-5 times this amount and set the XLim of the axis. For example
[time,voltage] = ode45(odefun,tspan,v0); % etc, whatever your ode is.
tConst = 2*R*C; % assuming parallel
tMultiple = 4;
figure
plot(time,voltage)
set(ga,'XLim',[0 tMultiple*tConst])
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Más respuestas (1)

ISIAKA SHUAIBU el 20 de Jul. de 2022
[time,voltage] = ode45(odefun,tspan,v0); % etc, whatever your ode is.
tConst = 2*R*C; % assuming parallel
tMultiple = 4;
figure
plot(time,voltage)
set(ga,'XLim',[0 tMultiple*tConst])
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Categorías

Más información sobre Mathematics 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