Chebfun's scribble command was introduced for entertainment, but it turns out to be surprisingly useful also illustrating complex variables. Suppose for example it is Chebyshev's birthday and you want to send him a card:

s = scribble('Happy Birthday Pafnuty!');
LW = 'linewidth'; lw = 1.8;
plot(s,'-',LW,lw)
xlim([-1.1 1.1]), axis equal, grid on

This chebfun s is a a piecewise linear complex funtion of a real variable, as we can see by writing it without the semicolon:

s
s =
chebfun column (89 smooth pieces)
interval       length   endpoint values
[      -1,   -0.98]        2    complex values
[   -0.98,   -0.96]        2    complex values
[   -0.96,   -0.93]        2    complex values
[   -0.93,   -0.91]        2    complex values
[   -0.91,   -0.89]        2    complex values
[   -0.89,   -0.87]        2    complex values
[   -0.87,   -0.84]        2    complex values
[   -0.84,   -0.82]        2    complex values
[   -0.82,    -0.8]        2    complex values
[    -0.8,   -0.78]        2    complex values
[   -0.78,   -0.75]        2    complex values
[   -0.75,   -0.73]        2    complex values
[   -0.73,   -0.71]        2    complex values
[   -0.71,   -0.69]        2    complex values
[   -0.69,   -0.66]        2    complex values
[   -0.66,   -0.64]        2    complex values
[   -0.64,   -0.62]        2    complex values
[   -0.62,    -0.6]        2    complex values
[    -0.6,   -0.57]        2    complex values
[   -0.57,   -0.55]        2    complex values
[   -0.55,   -0.53]        2    complex values
[   -0.53,   -0.51]        2    complex values
[   -0.51,   -0.48]        2    complex values
[   -0.48,   -0.46]        2    complex values
[   -0.46,   -0.44]        2    complex values
[   -0.44,   -0.42]        2    complex values
[   -0.42,   -0.39]        2    complex values
[   -0.39,   -0.37]        2    complex values
[   -0.37,   -0.35]        2     -0.39    -0.32
[   -0.35,   -0.33]        2     -0.32    -0.36
[   -0.33,    -0.3]        2    complex values
[    -0.3,   -0.28]        2    complex values
[   -0.28,   -0.26]        2    complex values
[   -0.26,   -0.24]        2    complex values
[   -0.24,   -0.21]        2    complex values
[   -0.21,   -0.19]        2    complex values
[   -0.19,   -0.17]        2    complex values
[   -0.17,   -0.15]        2    complex values
[   -0.15,   -0.12]        2    complex values
[   -0.12,    -0.1]        2    complex values
[    -0.1,  -0.079]        2    complex values
[  -0.079,  -0.056]        2    complex values
[  -0.056,  -0.034]        2    complex values
[  -0.034,  -0.011]        2    complex values
[  -0.011,   0.011]        2    complex values
[   0.011,   0.034]        2    complex values
[   0.034,   0.056]        2    complex values
[   0.056,   0.079]        2    complex values
[   0.079,     0.1]        2    complex values
[     0.1,    0.12]        2    complex values
[    0.12,    0.15]        2    complex values
[    0.15,    0.17]        2    complex values
[    0.17,    0.19]        2    complex values
[    0.19,    0.21]        2    complex values
[    0.21,    0.24]        2    complex values
[    0.24,    0.26]        2    complex values
[    0.26,    0.28]        2    complex values
[    0.28,     0.3]        2    complex values
[     0.3,    0.33]        2    complex values
[    0.33,    0.35]        2    complex values
[    0.35,    0.37]        2    complex values
[    0.37,    0.39]        2    complex values
[    0.39,    0.42]        2    complex values
[    0.42,    0.44]        2    complex values
[    0.44,    0.46]        2    complex values
[    0.46,    0.48]        2    complex values
[    0.48,    0.51]        2    complex values
[    0.51,    0.53]        2    complex values
[    0.53,    0.55]        2    complex values
[    0.55,    0.57]        2    complex values
[    0.57,     0.6]        2    complex values
[     0.6,    0.62]        2    complex values
[    0.62,    0.64]        2    complex values
[    0.64,    0.66]        2    complex values
[    0.66,    0.69]        2    complex values
[    0.69,    0.71]        2      0.66     0.71
[    0.71,    0.73]        2    complex values
[    0.73,    0.75]        2    complex values
[    0.75,    0.78]        2    complex values
[    0.78,     0.8]        2    complex values
[     0.8,    0.82]        2    complex values
[    0.82,    0.84]        2    complex values
[    0.84,    0.87]        2    complex values
[    0.87,    0.89]        2    complex values
[    0.89,    0.91]        2    complex values
[    0.91,    0.93]        2      0.94     0.95
[    0.93,    0.96]        2    complex values
[    0.96,    0.98]        2    complex values
[    0.98,       1]        2    complex values
Epslevel = 1.110223e-15.  Vscale = 1.003774e+00.  Total length = 178.


Since s is a chebfun, we can apply functions to it. For example, here is exp(s):

plot(exp(s),'b',LW,lw), axis equal, grid on

Here is exp(3i*s):

plot(exp(3i*s),'m',LW,lw), axis equal, grid on

Playing around with different functions is a good way to learn about complex variables, and a good way to make greeting cards. Here are a couple more with axes turned off for greater beauty.

plot(exp((1+1i)*s),'g',LW,lw), axis equal, axis off
snapnow
plot(sinh(3*s),'r',LW,lw), axis equal, axis off