# Plotting a function while varying a variable (on the x-axis) using two formulas [duplicate]

I want to plot the following function, where Rb is the variable (that has to be on the x-axis):

y[Rb]:=2*fin*(2*T*Ud - ((Ud)/(fin)) + ((Uin*Sin[2*Pi*fin*T])/(2*Pi*fin)) +
c*Rb*(2*Ud - Uin)*(Exp[-((T)/(c*Rb))] - 1))


Now Ud,fin, Uin and care constants, for example

Ud = 0.7, fin = 50, Uin = 5,  c = 470*10^(-6)


But to find T I need to solve:

FindRoot[
Abs[Uin*Sin[2*Pi*fin*T - (Pi/2)]] - 2*Ud == (Uin - 2*Ud)*Exp[-T/(c*Rb)]
, {T, 1/(4*fin), 1/(2*fin)}
, WorkingPrecision -> 20
]


Now how can I plot the function y[Rb] while varying Rb?

## marked as duplicate by Henrik Schumacher, m_goldberg plotting StackExchange.ready(function() { if (StackExchange.options.isMobile) return; $('.dupe-hammer-message-hover:not(.hover-bound)').each(function() { var$hover = $(this).addClass('hover-bound'),$msg = $hover.siblings('.dupe-hammer-message');$hover.hover( function() { $hover.showInfoMessage('', { messageElement:$msg.clone().show(), transient: false, position: { my: 'bottom left', at: 'top center', offsetTop: -7 }, dismissable: false, relativeToBody: true }); }, function() { StackExchange.helpers.removeMessages(); } ); }); }); Jun 20 '18 at 13:04

Here is what you can do:

Define Constants:

Ud = 7/10; fin = 50; Uin = 5; c = 470*10^(-6);


Define T as a function of Rb. Call it tr[Rb]

tr[Rb_?NumericQ] :=
T /. FindRoot[
Abs[Uin*Sin[2*Pi*fin*T - (Pi/2)]] - 2*Ud == (Uin - 2*Ud)*
Exp[-T/(c*Rb)], {T, 1/(4*fin), 1/(2*fin)},
WorkingPrecision -> 20]


Define y[Rb] with tr[Rb] instead of T

y[Rb_] :=
2*fin*(2*tr[Rb]*
Ud - ((Ud)/(fin)) + ((Uin*Sin[2*Pi*fin*tr[Rb]])/(2*Pi*fin)) +
c*Rb*(2*Ud - Uin)*(Exp[-((tr[Rb])/(c*Rb))] - 1))


Plot y[Rb]. Notice that you get WorkingPrecision warnings. This has to be looked into to see where the precision is getting lost.

Plot[y[Rb], {Rb, 1, 10}] You could solve for Rb

RbT = Solve[Abs[Uin*Sin[2*Pi*fin*T - (Pi/2)]] - 2*Ud == (Uin -2*Ud)*Exp[-T/(c*Rb)], Rb][]
ParametricPlot[{Rb, y[Rb]} /. RbT, {T, 1/(4*fin), 1/(2*fin)},AspectRatio -> 1]


Unfortunately the Plot is empty, probably because RbT is complex!

• T follows from the equation I stated – asd Jun 20 '18 at 8:26
• You gave some values for T in the FindRoot command. These values I used in the ParametricPlot... – Ulrich Neumann Jun 20 '18 at 8:37
• What range Rb you expect? – Ulrich Neumann Jun 20 '18 at 8:51