diff options
Diffstat (limited to 'plugins/ZamTube/lut_current.m')
-rw-r--r-- | plugins/ZamTube/lut_current.m | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/plugins/ZamTube/lut_current.m b/plugins/ZamTube/lut_current.m index 3d42d6e..6546e61 100644 --- a/plugins/ZamTube/lut_current.m +++ b/plugins/ZamTube/lut_current.m @@ -1,10 +1,10 @@ 1; function I = ip (vgk, vpk) - mu=103.2 - kx=1.26 + mu=100.0 + kx=1.4 kg1=446.0 - kp=3.4 + kp=600.0 kvb=300.0 e1=vpk .* log(1. + exp(kp .* (1.0/mu + vgk ./ (kvb + vpk .* vpk) .^ 0.5))) / kp if e1 < 0 @@ -14,12 +14,33 @@ function I = ip (vgk, vpk) I = double((e1 .^ kx)/kg1) endfunction -gridsizeg = 2001 -gridsizep = 2001 -vgk = linspace(-20, 20, gridsizeg) -vpk = linspace(0, 500, gridsizep) +function f1 (x,y) +f1 = 1./446 .* (y./sqrt(300).-3.*exp(1).*x.*sqrt(300)./100).^1.4 +endfunction + +function f2 (x,y) +f2 = 1./446.*(y.*log(1.+6.*exp(1))./sqrt(300)).^1.4 +endfunction + +function f4 (x,y) +if (-x./y < 17) + f4 = f1(x,y) + return +endif +if ((x > -0.1) && (y > 250)) + f4 = f2(x,y) + return +endif +f4 = ip(x,y) +endfunction + +gridsizeg = 101 +gridsizep = 101 +vgk = linspace(-10, 0, gridsizeg) +vpk = linspace(0, 300, gridsizep) [vg, vp] = ndgrid(double(vgk), double(vpk)) -cur = 1e+6*ip(double(vg), double(vp)) +cur = 1000000*ip(double(vg), double(vp)) +approxcur = 1000000*f4(vg, vp) surf(vg,vp,cur) more off |