Parametric Functions (C Code)
Smith Chart
#include <stdio.h>
#include "dislin.h"
#define N 1000
#define M 1000
int main ()
{ int i;
  float zimg[11] = {5.0, 2.0, 1.0, 0.5, 0.2, 0.0, -0.2, -0.5, -1.0, 
                    -2.0, -5.0};
  float zre[5] = {0.2, 0.5, 1.0, 2.0, 5.0};
  float x[N], y[N];
  float x2[5] = {0.42, 0.3, 0.63, 0.83, 0.67}, 
        y2[5] = {-0.11, 0.15, 0.28, 0.0, -0.43};
  float step;
  step = (50.0 + 50.0) / (N - 1);
  for (i = 0; i < N; i++)
  { x[i] = 0.5;
    y[i] = - 50.0 + i * step;
  }
  scrmod ("revers");
  metafl ("cons");
  disini ();
  pagera ();
  hwfont ();
  titlin ("Smith Chart", 1);
  name ("X-axis", "x");
  labtyp ("vert", "y");
  labtyp ("hori", "x");
  labdis (-50, "y");
  height (30);
  hname (30);
  ticpos ("revers", "y");
  grafr (zre, 5, zimg, 11);
  htitle (40);
  title ();
  gridre (1.0, -50.0, 50.0, M);
  gridre (2.0, -50.0, 50.0, M);
  gridre (3.0, -50.0, 50.0, M);
  gridre (4.0, -50.0, 50.0, M); 
  gridre (5.0, -50.0, 50.0, M);
  gridim (0.5, 0.001, 50.0, M);
  gridim (1.0, 0.001,  1.0, M);
  gridim (2.0, 0.001, 50.0, M);
  gridim (3.0, 0.001, 50.0, M);
  gridim (4.0, 0.001, 50.0, M);
  gridim (5.0, 0.001, 50.0, M);
  labdis (20, "y");
  ticpos ("labels", "y");
  labdig (-1, "y");
  ticks (10, "y");
  ypolar (180.0, -180.0, 180.0, -30.0, "Y-axis", 0);
  color ("red");
  curve  (x, y, N);
  polcrv("pspline");
  incmrk (1);
  color ("green");
  curve (x2, y2, 5); 
  disfin ();
}
Smith Chart, Admittance Plot
#include <stdio.h>
#include "dislin.h"
#define M 1000
 
int main ()
{ int i;
  float zimg[11] = {5.0, 2.0, 1.0, 0.5, 0.2, 0.0, -0.2, -0.5, -1.0, 
                    -2.0, -5.0};
  float zre[5] = {0.2, 0.5, 1.0, 2.0, 5.0};
  float x2[5] = {0.42, 0.3, 0.63, 0.83, 0.67}, 
        y2[5] = {-0.11, 0.15, 0.28, 0.0, -0.43};
  float x3[5], y3[5], v;
  // Convert impedance data to admittance by Y = 1 / Z
  for (i = 0; i < 5; i++)
  { v = x2[i] * x2[i] + y2[i] * y2[i];
    x3[i] = x2[i] / v;  
    y3[i] = -y2[i] / v;  
  }
 
  scrmod ("revers");
  metafl ("cons");
  disini ();
  pagera ();
  hwfont ();
  titlin ("Smith Chart", 1);
  titlin ("Admittance Plot", 2);
  axstyp ("admittance");
  name   ("X-axis", "x");
  name   ("Y-axis", "y");
  labtyp ("vert", "y");
  labtyp ("hori", "x");
  height (30);
  hname (30);
  color ("red");
  grafr (zre, 5, zimg, 11);
  gridre (1.0, -50.0, 50.0, M);
  gridre (2.0, -50.0, 50.0, M);
  gridre (3.0, -50.0, 50.0, M);
  gridre (4.0, -50.0, 50.0, M); 
  gridre (5.0, -50.0, 50.0, M);
  gridim (0.5, 0.001, 50.0, M);
  gridim (1.0, 0.001,  1.0, M);
  gridim (2.0, 0.001, 50.0, M);
  gridim (3.0, 0.001, 50.0, M);
  gridim (4.0, 0.001, 50.0, M);
  gridim (5.0, 0.001, 50.0, M);
  color ("fore");
  htitle (40);
  title ();
  polcrv("pspline");
  incmrk (1);
  color ("green");
  curve (x3, y3, 5); 
  disfin ();
}
Smith Chart, Impedance and Admittance Plot
#include <stdio.h>
#include "dislin.h"
#define M 1000
int main ()
{ int i;
  float zimg[11] = {5.0, 2.0, 1.0, 0.5, 0.2, 0.0, -0.2, -0.5, -1.0, 
                    -2.0, -5.0};
  float zre[5] = {0.2, 0.5, 1.0, 2.0, 5.0};
  float x2[5] = {0.42, 0.3, 0.63, 0.83, 0.67}, 
        y2[5] = {-0.11, 0.15, 0.28, 0.0, -0.43};
  float x3[5], y3[5], v;
  // Convert impedance data to admittance by Y = 1 / Z
  for (i = 0; i < 5; i++)
  { v = x2[i] * x2[i] + y2[i] * y2[i];
    x3[i] = x2[i] / v;  
    y3[i] = -y2[i] / v;  
  }
  scrmod ("revers");
  metafl ("cons");
  disini ();
  pagera ();
  hwfont ();
  titlin ("Smith Chart", 1);
  titlin ("Impedance and Admittance Plot", 2);
  labtyp ("vert", "y");
  labtyp ("hori", "x");
  labdis (-50, "y");
  labdis (10, "x");
  height (30);
  hname (30);
  ticpos ("reverse", "y");
  grafr (zre, 5, zimg, 11);
  htitle (40);
  title ();
  gridre (1.0, -50.0, 50.0, M);
  gridre (2.0, -50.0, 50.0, M);
  gridre (3.0, -50.0, 50.0, M);
  gridre (4.0, -50.0, 50.0, M); 
  gridre (5.0, -50.0, 50.0, M);
  gridim (0.5, 0.001, 50.0, M);
  gridim (1.0, 0.001,  1.0, M);
  gridim (2.0, 0.001, 50.0, M);
  gridim (3.0, 0.001, 50.0, M);
  gridim (4.0, 0.001, 50.0, M);
  gridim (5.0, 0.001, 50.0, M);
  incmrk (1);
  polcrv ("pspline");
  color ("green");
  curve (x2, y2, 5);
  endgrf ();
  axstyp ("admittance");
  labdis (20, "y");
  ticpos ("labels", "y");
  color ("red");
  ticpos ("reverse", "x");
  labdis (-50, "x");
  
  grafr (zre, 5, zimg, 11);
  gridre (1.0, -50.0, 50.0, M);
  gridre (2.0, -50.0, 50.0, M);
  gridre (3.0, -50.0, 50.0, M);
  gridre (4.0, -50.0, 50.0, M); 
  gridre (5.0, -50.0, 50.0, M);
  gridim (0.5, 0.001, 50.0, M);
  gridim (1.0, 0.001,  1.0, M);
  gridim (2.0, 0.001, 50.0, M);
  gridim (3.0, 0.001, 50.0, M);
  gridim (4.0, 0.001, 50.0, M);
  gridim (5.0, 0.001, 50.0, M);
  polcrv("pspline");
  color ("green");
  curve (x3, y3, 5);
 
  endgrf ();
  disfin ();
}
News
     
          DISLIN-Handbuch als eBook von Amazon
     
5. April 2025
     
Support für OpenBSD 64-bit
17. Januar 2025
     
Support für Python 3.13 und Windows
17. Januar 2025
     
PDF-Handbuch der Version 11.5.2
8. Januar 2025
     
Update 11.5.2
8. April 2024
     
Support für Python 3.11 und Windows
28. Juli 2023
     
Bugfix für die X11-Distributionen
22. Juli 2023
     
Update 11.5.1
25. April 2023
     
Support für Linux 64-bit auf IBM z Rechnern
30. Oktober 2022
     
Support für MingW 64-bit mit UCRT Runtime-Umgebung
28. September 2022
     
Release 11.5
15. März 2022
     
DISLIN-Buch Version 11 ist erhältlich
8. März 2017
  
5. April 2025
Support für OpenBSD 64-bit
17. Januar 2025
Support für Python 3.13 und Windows
17. Januar 2025
PDF-Handbuch der Version 11.5.2
8. Januar 2025
Update 11.5.2
8. April 2024
Support für Python 3.11 und Windows
28. Juli 2023
Bugfix für die X11-Distributionen
22. Juli 2023
Update 11.5.1
25. April 2023
Support für Linux 64-bit auf IBM z Rechnern
30. Oktober 2022
Support für MingW 64-bit mit UCRT Runtime-Umgebung
28. September 2022
Release 11.5
15. März 2022
DISLIN-Buch Version 11 ist erhältlich
8. März 2017