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