Version 4 SHEET 1 1260 708 WIRE -160 176 -160 144 WIRE -160 272 -160 256 WIRE -160 400 -160 368 WIRE -160 496 -160 480 WIRE -112 144 -160 144 WIRE -112 368 -160 368 WIRE 288 -64 288 -96 WIRE 288 32 288 16 WIRE 320 -96 288 -96 FLAG 320 -96 x IOPIN 320 -96 Out FLAG -112 368 y IOPIN -112 368 Out FLAG -160 496 0 FLAG 288 32 0 FLAG -112 144 z IOPIN -112 144 Out FLAG -160 272 0 SYMBOL voltage 288 -80 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value PULSE(-30 70 0 100 100 0 200) SYMBOL bv -160 384 R0 SYMATTR InstName B1 SYMATTR Value V=IF(V(x)<{X1}, {Y1}, IF(V(x)<{X2},{Y1}+(V(x)-{X1})/{X2-X1}*{Y2-Y1}, Y2)) SYMBOL bv -160 160 R0 SYMATTR InstName B2 SYMATTR Value V=table(V(x), X1, Y1, X2, Y2) TEXT -192 -16 Left 0 !.tran 100 TEXT -192 24 Left 0 !.param x1=10 y1=50 x2=30 y2=100 TEXT 408 392 Left 0 ;X1 TEXT 520 392 Left 0 ;X2 TEXT 272 264 Left 0 ;Y1 TEXT 272 160 Left 0 ;Y2 TEXT -192 -208 Left 0 ;Ramp With B-SourceUsing Table() And IF()\n \nWatch that V(y) is limited to Y1 and Y2 \nwhen V(x) is below X1 or above X2. LINE Normal 424 272 344 272 LINE Normal 536 176 424 272 LINE Normal 632 176 536 176 LINE Normal 312 392 312 136 2 LINE Normal 600 376 280 376 2 RECTANGLE Normal 664 424 232 104