Version 4 SHEET 1 1568 1252 WIRE -224 176 -224 128 WIRE -224 320 -224 256 WIRE -224 448 -224 400 WIRE -224 592 -224 528 WIRE -224 736 -224 688 WIRE -224 880 -224 816 WIRE -160 400 -224 400 WIRE -96 688 -224 688 WIRE -96 736 -96 688 WIRE -96 880 -96 816 WIRE -96 1072 -96 1024 WIRE -96 1216 -96 1152 WIRE -64 128 -224 128 WIRE 64 736 64 688 WIRE 64 880 64 816 WIRE 64 1024 -96 1024 WIRE 64 1072 64 1024 WIRE 64 1216 64 1152 WIRE 112 128 16 128 WIRE 144 128 112 128 WIRE 144 192 144 128 WIRE 144 320 144 272 WIRE 192 400 -160 400 WIRE 192 448 192 400 WIRE 192 592 192 528 WIRE 192 688 64 688 WIRE 192 736 192 688 WIRE 192 880 192 816 WIRE 256 128 144 128 WIRE 256 208 256 128 WIRE 256 320 256 272 WIRE 336 736 336 688 WIRE 336 880 336 816 WIRE 336 1072 336 1024 WIRE 336 1216 336 1152 WIRE 400 688 336 688 WIRE 496 176 496 128 WIRE 496 320 496 256 WIRE 496 448 496 400 WIRE 496 592 496 528 WIRE 496 688 400 688 WIRE 496 736 496 688 WIRE 496 880 496 816 WIRE 512 1024 336 1024 WIRE 512 1072 512 1024 WIRE 512 1216 512 1152 WIRE 608 128 496 128 WIRE 608 400 496 400 WIRE 624 736 624 688 WIRE 624 880 624 816 WIRE 688 688 624 688 WIRE 800 128 608 128 WIRE 800 176 800 128 WIRE 800 320 800 256 WIRE 800 400 608 400 WIRE 800 448 800 400 WIRE 800 592 800 528 WIRE 800 688 688 688 WIRE 800 736 800 688 WIRE 800 880 800 816 FLAG 144 320 0 FLAG -224 320 0 FLAG 256 320 0 FLAG -224 128 a FLAG 112 128 b FLAG 608 128 c FLAG 496 320 0 FLAG 800 320 0 FLAG 608 400 d FLAG 496 592 0 FLAG 800 592 0 FLAG -160 400 e FLAG -224 592 0 FLAG 192 592 0 FLAG -224 880 0 FLAG -224 688 vk FLAG 64 880 0 FLAG 64 688 vpi FLAG 400 688 bpi FLAG 336 880 0 FLAG 496 880 0 FLAG -96 880 0 FLAG 192 880 0 FLAG 688 688 bpic FLAG 624 880 0 FLAG 800 880 0 FLAG -96 1216 0 FLAG -96 1024 v4 FLAG 64 1216 0 FLAG 336 1216 0 FLAG 336 1024 v5 FLAG 512 1216 0 SYMBOL voltage -224 160 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value PULSE(0 1 0 1n 1n 1m 2m) SYMBOL res 128 176 R0 SYMATTR InstName R1 SYMATTR Value {v} SYMBOL res -80 144 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R2 SYMATTR Value {myfunc(u,v/3)} SYMBOL cap 240 208 R0 SYMATTR InstName C1 SYMATTR Value {1e-5/w} SYMBOL bv 496 160 R0 SYMATTR InstName B1 SYMATTR Value V=V(a)*V(b)+0.2*W SYMBOL res 784 160 R0 SYMATTR InstName R3 SYMATTR Value 1K SYMBOL bv 496 432 R0 SYMATTR InstName B2 SYMATTR Value V=V(a)*V(b)+0.2*{W} SYMBOL res 784 432 R0 SYMATTR InstName R4 SYMATTR Value 1K SYMBOL bv -224 432 R0 SYMATTR InstName B3 SYMATTR Value V=V(a)*V(b)+{0.2*W}+{.1*W}*V(a) SYMBOL res 176 432 R0 SYMATTR InstName R5 SYMATTR Value 1K SYMBOL voltage -224 720 R0 SYMATTR InstName V2 SYMATTR Value {k} SYMBOL voltage 64 720 R0 SYMATTR InstName V3 SYMATTR Value {pi} SYMBOL bv 336 720 R0 SYMATTR InstName B4 SYMATTR Value V=pi*2 SYMBOL res 480 720 R0 SYMATTR InstName R6 SYMATTR Value 1K SYMBOL res -112 720 R0 SYMATTR InstName R7 SYMATTR Value 1k SYMBOL res 176 720 R0 SYMATTR InstName R8 SYMATTR Value 1k SYMBOL bv 624 720 R0 SYMATTR InstName B5 SYMATTR Value V={pi*2}+.1 SYMBOL res 784 720 R0 SYMATTR InstName R9 SYMATTR Value 1K SYMBOL voltage -96 1056 R0 WINDOW 123 0 0 Left 0 WINDOW 39 24 132 Left 0 SYMATTR InstName V4 SYMATTR Value 1 SYMATTR SpiceLine Rser=10 SYMBOL res 48 1056 R0 WINDOW 3 26 100 Left 0 SYMATTR InstName R10 SYMATTR Value R=v/u+4+w+V(b) SYMBOL voltage 336 1056 R0 WINDOW 123 0 0 Left 0 WINDOW 39 24 132 Left 0 SYMATTR InstName V5 SYMATTR Value 1 SYMATTR SpiceLine Rser=10 SYMBOL res 496 1056 R0 WINDOW 3 24 115 Left 0 SYMATTR InstName R11 SYMATTR Value R={v/u+4+w}+V(b) TEXT 144 -416 Left 0 !.measure ww PARAM w TEXT -248 -416 Left 0 !.step param w list 4 8 13 TEXT -248 -336 Left 0 !.func myfunc(x,y) {sqrt(x*x+y*y)} TEXT -248 -456 Left 0 !.tran 2m TEXT 144 -376 Left 0 ;.measure ww PARAM {w} ; NO, gives wrong result for w TEXT -248 -384 Left 0 !.param u=100 v=600 TEXT 144 -336 Left 0 ;.func myfunc(x,y) sqrt(x*x+y*y) ; YES, works also TEXT -248 -280 Left 0 !.param uvn=myfunc(u,v/w) TEXT 144 -280 Left 0 !.measure uvn1 PARAM uvn TEXT -248 -240 Left 0 !.param uvc={myfunc(u,v/w)} TEXT 144 -240 Left 0 !.measure uvc1 PARAM uvc TEXT -248 -200 Left 0 !.param kn=u/w+1 TEXT -248 -160 Left 0 !.param kc={u/w+1} TEXT 144 -160 Left 0 !.measure kc1 PARAM kc TEXT 144 -200 Left 0 !.measure kn1 PARAM kn TEXT -248 -104 Left 0 !.param k={u/v*w} TEXT 144 -104 Left 0 !.measure kk1 PARAM k ; Warning, shows constant Boltz=1.38.. TEXT -248 -64 Left 0 !.param pi={u/v*w} TEXT 144 -64 Left 0 !.measure pi1 PARAM pi ; Warning, shows constant PI=3.14.. TEXT -248 -24 Left 0 !.param e={u/v*w} TEXT 144 -24 Left 0 !.measure e1 PARAM e ; Warning, shows constant E=2.71.. TEXT -248 16 Left 0 !.param q={u/v*w} TEXT 144 16 Left 0 !.measure q1 PARAM q ; Warning, shows constant q=1.60.. TEXT 80 976 Left 0 ;Treated as B-source TEXT -240 -1040 Left 0 ;Rules For Curly Braces\n \n1. Curly braces are necessary if used as values for \nresistors, capacitors, inductors, E, F, G, H, V, I -sources,\nor parameters of ".models". Curly braces have to include \nthe whole expression here. \n \n2. They are optional for B-sources, ".function" and ".param" statements.\n \n3. If used in ".param" then curly braces must be around the whole expression.\n \n4. If used in ".function" then curly braces must be around the whole expression.\n \n5. In B-sources they can be around the static(independent) values,\nbut not around dependent voltages or currents.\n \n6. In ".measure ... PARAM ..." are no braces allowed even when \nparams are referenced. Warning, there are some constant names \nlike k, e, q, pi which are not the same as in your ".param" when\nyou have defined it there. TEXT 144 -456 Left 0 ;View-> SPICE Error Log for .measure results RECTANGLE Normal 752 1248 -208 944 2