How to plot two functions in one graph to demonstrate comparison
2 views (last 30 days)
Show older comments
this is the private functions and the separated plotting for each, and i want to plot both of them under one graph. i couldnt do it
methods (Access = private)
function AcVoltage(app,Vrms,F,T)
AC_Voltage = ((Vrms) * sin((2)*(pi*F)*(T))); % this function is for input voltage sine wave demonstration
plot(app.UIAxes,AC_Voltage)
app.UIAxes.Title.String = 'AC Input Voltage';
app.UIAxes.YLabel.String = 'Vrms';
end
function Output_Voltage(app,Vdc,F,T)
DC_Voltage = ((Vdc) * sin((2)*(pi*F)*(T))); %testing the code NOT the Actual[for testing]
idx = DC_Voltage>=0;
plot(app.UIAxes,DC_Voltage(idx))
app.UIAxes.Title.String = 'Rectified DC Voltage';
app.UIAxes.YLabel.String = 'Vdc';
end
3 Comments
dpb
on 8 Aug 2020
There's no "hold on" anywhere in the code -- both of those will plot the given data as new plot on the axes.
You need to create the axes, save the handle to it, set hold on to add plots to existing axis and then plot...With GUIS I don't know much ... to just plot you'd do something like
function plotStuff(app,Vrms,Vdc,F,T)
AcVoltage(app,Vrms,F,T)
hold(app.UIAxes,'on')
Output_Voltage(app,Vdc,F,T)
end
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!