diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /web/webfiles/mtest.tex |
Initial commit
Diffstat (limited to 'web/webfiles/mtest.tex')
-rw-r--r-- | web/webfiles/mtest.tex | 372 |
1 files changed, 372 insertions, 0 deletions
diff --git a/web/webfiles/mtest.tex b/web/webfiles/mtest.tex new file mode 100644 index 0000000000..94e51e9a2a --- /dev/null +++ b/web/webfiles/mtest.tex @@ -0,0 +1,372 @@ +\input mweb.tex + +\def\title{Een testprogramma voor MWEB (Matlab Web)} +\def\xwebContentsTop{\bfseries + \hrule\par\medskip + \centerline{\Large\title} + \vspace{2cm} + \centerline{\large Mark Potse} + \vspace{2cm}} % this material will start the table of contents page + +\def\Nchannels{N_{{\rm channels}}} + +\par\medskip\hrule + + +\N1. Test. Deze file dient voor het testen van {\tt MWEB} (Matlab Web). +Het bevat geen zinvol programma, maar alleen veel verschillende +matlab-structuren voor het +testen van de parser van {\tt mweave}. + +% test the rebinder +\gdef\1{This is the replacement text of \string\1} + +Mark Potse + +e-mail: potse@amc.uva.nl + +\Y\P\F\\{maptype} \\{int} +\par +\P\F\\{maptype} \\{int} +\par +\P\F\\{maptype} \\{int} +\par +\P\F\\{maptype} \\{int} +\par +\P\F\\{maptype} \\{int} +\par +\P\F\\{maptype} \\{int} +\par +\P\F\\{maptype} \\{int} +\par +\Y\P$\|{x}=[\1\O{0}\ \O{0}\ \O{2}\ \pi,\;$\39$\O{2}{*}\pi,\;$\39$\O{5},\;$\39$% +\O{4.5}\ \O{20}\ \O{9243857}\ \infty]\2;\;$\6 +$\|{a}=\O{1};\;$\6 +$\|{b}=\O{2}$\6 +$\|{c}=\pi/\O{4};\;$\6 +$\\{bs\_ColourOpt}=\O{1}$\Y\par +\fi + +\N2. 2 if-elseif-else-end constructions. In the title of a ``starred +section'' program text may not be used, but in the documentation it +may: \CD{}\PB{$\&{if}\ $ $($ $\|{a}$ $=$ $\O{2}$ $)$}\DC{}, \CD{}\PB{$% +\&{elseif}\ $}\DC{}, \CD{}\PB{$\&{else}$}\DC{} and \CD{}\PB{$\&{end}$}\DC{}. + +inserted \string\1 here: \1 + +\Y\P$\&{if}\ (\1\|{a}\I\|{b})\2$\1\6 +$\|{a}=\|{b};\;$\2\6 +$\&{end};\;$\7 +$\&{if}\ (\1\|{a}\I\|{b})\2$\1\6 +\X12:adjust baseline\X\relax\2\6 +$\&{end};\;$\7 +$\&{if}\ (\1\|{a}\S\|{b})\2$\1\6 +$\|{a}=\\{some\_lousy\_variable\_with\_an\_ExtraordinaryLongName}$\6 +$\\{text}(\1\O{2},\;$\39$\O{3},\;$\39$\.{'blah\ bla\ blah'})\2;\;$\2\6 +$\&{elseif}\ $\1$(\1\|{a}<\|{b})\2$\6 +$\\{text}(\1\O{5},\;$\39$\O{3},\;$\39$\.{'blah\ bla\ bla'})\2$\2\6 +$\&{elseif}\ $\1$\|{x}$\6 +$\&{if}\ \|{x}\S\O{1}$\1\6 +$\|{y}=\|{x};\;$\2\6 +$\&{elseif}\ $\1$(\1\|{x}\S\O{2})\2$\6 +$\|{y}=\|{x}+\O{1};\;$\2\6 +$\&{else}$\1\6 +$\|{y}=\|{x}+\O{3};\;$\2\6 +$\&{end};\;$\2\6 +$\&{else}$\1\6 +$\\{text}(\1\O{2},\;$\39$\O{3},\;$\39$\.{'blah\ bla\ blah'})\2;\;$\6 +$\\{text}(\1\O{10},\;$\39$\O{7},\;$\39$\.{'bla\ blah\ blah'})\2;\;$\2\6 +$\&{end};\;$\Y\par +\fi + +\M3. An \CD{}\PB{$\&{if}\ $}\DC{} without braces: +\Y\P$\&{if}\ \|{a}\I\|{b}$\1\6 +$\|{a}=\|{b};\;$\2\6 +$\&{end};\;$\6 +\X4:a \PB{$\&{for}\ $} loop\X\relax\6 +$\|{c}=\O{2}/\O{3};\;$\Y\par +\fi + +\N4. 2 for. Another example. +\Y\P\4\X4:a \PB{$\&{for}\ $} loop\X${}\S{}$\7 +$\&{for}\ \|{i}=\O{1}\mathbin:\O{10}$\5 +\C{ with a comment }\1\6 +$\&{for}\ \|{j}=\O{1}\mathbin:\O{20}$\1\6 +$\\{vect}(\1\|{i})\2=\\{matrix}(\1\O{2}{*}\|{i}+\O{1},\;$\39$\|{j})\2;\;$\2\6 +$\&{end};\;$\2\6 +$\&{end};\;$\Y\par +\A5. +\U3.\fi + +\M5. vervolg. +\Y\P\4\X4:a \PB{$\&{for}\ $} loop\X${}\mathrel+\S{}$\7 +$\&{for}\ \|{i}=[\1\O{1}\mathbin:\O{10}]\2$\1\6 +$\\{vect}(\1\|{i})\2=\O{2}{*}\|{i}+\O{1};\;$\2\6 +$\&{end};\;$\Y\par +\fi + +\N6. bs\_map. +Het volgende is overgenomen uit {\tt bs\_map.m} + +\fi + +\M7. For declarations like \CD{}\PB{$\&{clear}$}\DC{}, \CD{}\PB{$\&{global}$}% +\DC{} etc.: +\Y\P$\&{global}$\1\ $\\{PosInterval}\ \\{NegInterval}\ \\{bso\_Fine}\ \ldots$\6 +$\\{bso\_Points}\ \\{bs\_BeginSampleNr}\ \\{bs\_EndSampleNr}\ \ldots$\6 +$\\{bso\_MapAxSize}\ \\{bso\_Type}\ \\{bso\_Shoulders}\ \ldots$\6 +$\\{bso\_PlusMinSize}\ \\{bso\_Grey}\ \\{bso\_Nlevels}$ $\ldots$\6 +\X8:parameter handling\X\6 +\X12:adjust baseline\X\6 +\X13:make a figure window and axes\X\6 +\X14:patient information\X\6 +\X15:Make the map\X\6 +\X18:print map info\X\6 +\X19:create menu's\X\Y\par +\fi + +\M8. String handling: +\Y\P\4\X8:parameter handling\X${}\S{}$\6 +$\\{bso\_ml}(\1\.{'Display'},\;$\39$\.{'no'})\2;\;$\6 +$\\{bso\_map}(\1\.{'Display'},\;$\39$\.{'no'})\2;\;$\Y\par +\A9. +\U7.\fi + +\M9. +\Y\P\4\X8:parameter handling\X${}\mathrel+\S{}$\6 +$\&{if}\ (\1\\{bs\_ColourOpt}\W(\1\\{bso\_Type}\S\.{'p'}\V\\{bso\_Type}\S% +\.{'c'})\2)\2$\1\6 +$\\{textcolour}=\.{'y'};\;$\2\6 +$\&{else}$\1\6 +$\\{textcolour}=\.{'k'};\;$\2\6 +$\&{end};\;$\Y\par +\fi + +\M10. In Matlab, the quote also serves as a transpose-operator: +\Y\P$\|{a}=\\{ones}(\1\O{3},\;$\39$\O{3})\2;\;$\6 +$\|{c}=\|{b}^{\prime}$\6 +$\|{c}=\O{4}^{\prime};\;$\6 +$\|{c}=(\1\|{a}+\|{b})\2^{\prime};\;$\6 +$\|{c}$ $=$ $(\1\|{a}+\O{4}i)\2$ $.$ $^{\prime}$ \Y\par +\fi + +\M11. Quotes in a string. +\Y\P$\\{text}(\1\O{1},\;$\39$\O{2},\;$\39$\.{'He\ said:\ ''foo!'';\ ''''\ '})% +\2$\Y\par +\fi + +\N12. 2 function calls. + +\Y\P\4\D$\Nchannels\S$\5 +$\O{64}$ \par +\P\F\\{Nchannels} \\{TeX} +\par +\Y\P\4\X12:adjust baseline\X${}\S{}$\6 +$\\{bs\_Reg}=\\{ones}(\1\Nchannels,\;$\39$\O{500})\2;\;$\6 +$\\{bs\_rejected}=\\{zeros}(\1\Nchannels)\2;\;$\6 +$\\{bs\_BaseLineAlgorithm}=\O{1};\;$\6 +$\\{bs\_BaseLn1}=\O{200};\;$\6 +$\\{bs\_BaseLn2}=\O{400};\;$\6 +$\\{bs\_BaseLineWidth}=\O{10};\;$\7 +$\\{bs\_BA\_Reg}=\\{bs\_adj}(\1\ldots$\6 +$\\{bs\_Reg},\;$\39$\\{bs\_rejected},\;$\39$\\{bs\_BaseLineAlgorithm},\;$\39$% +\ldots$\6 +$\\{bs\_BaseLn1},\;$\39$\\{bs\_BaseLn2},\;$\39$\\{bs\_BaseLineWidth})\2;\;$\Y% +\par +\Us2\ET7.\fi + +\M13. +\Y\P\4\X13:make a figure window and axes\X${}\S{}$\7 +$\\{bs\_map\_winH}=\\{a4paper}(\1\\{bs\_FigScale})\2;\;$\6 +$\\{bs\_map\_AX1}=\\{axes}(\1\ldots$\6 +$\.{'Units'},\;$\39$\.{'normalized'},\;$\39$\ldots$\6 +$\.{'Position'},\;$\39$[\1\O{0}\ \O{0}\ \O{1}\ \O{1}]\2,\;$\39$\ldots$\6 +$\.{'Visible'},\;$\39$\.{'off'},\;$\39$\ldots$\6 +$\.{'XLim'},\;$\39$[\1\O{0},\;$\39$\O{21}]\2,\;$\39$\ldots$\6 +$\.{'YLim'},\;$\39$[\1\O{0}\ \O{29.7}]\2,\;$\39$\ldots$\6 +$\.{'Clipping'},\;$\39$\.{'off'})\2;\;$\Y\par +\U7.\fi + +\M14. +\Y\P\4\X14:patient information\X${}\S{}$\6 +$\&{if}\ (\1\\{length}(\1\\{bs\_infostring})\2\G\O{16})\2$\1\6 +$\\{text}(\1\O{3},\;$\39$\O{28.5},\;$\39$\\{bs\_infostring}(\1\O{10}\mathbin:% +\O{16})\2,\;$\39$\.{'Color'},\;$\39$\\{textcolour})\2;\;$\2\6 +$\&{else}$\1\6 +$\\{text}(\1\O{3},\;$\39$\O{28.5},\;$\39$\.{'?'},\;$\39$\.{'Color'},\;$\39$% +\\{textcolour})\2;\;$\2\6 +$\&{end};\;$\6 +$\\{text}(\1\O{7},\;$\39$\O{28.5},\;$\39$\\{bs\_filename},\;$\39$\.{'Color'},% +\;$\39$\\{textcolour})\2;\;$\Y\par +\U7.\fi + +\M15. +\Y\P\4\X15:Make the map\X${}\S{}$\7 +$\\{vec}=\\{zeros}(\1\O{64},\;$\39$\O{1})\2;\;$\6 +$\\{vec}=\\{bs\_BA\_Reg}(\1\O{1}\mathbin:\O{64},\;$\39$\\{bs\_CurSampleNr})\2;% +\;$\6 +$\\{bs\_Map}=\\{getmap}(\1\\{vec},\;$\39$\\{bs\_rejected})\2;\;$\6 +\X16:define axes\X\6 +\X17:call \PB{$\\{bsm}$}\X\Y\par +\U7.\fi + +\M16. +\Y\P\4\X16:define axes\X${}\S{}$\6 +$\\{bs\_map\_AX2}=\\{axes}(\1\ldots$\6 +$\.{'Units'},\;$\39$\.{'normalized'},\;$\39$\ldots$\6 +$\.{'Position'},\;$\39$[\1\O{4}/\O{21},\;$\39$\O{12}/\O{29.7},\;$\39$\\{bso% +\_MapAxSize}/\O{21},\;$\39$\\{bso\_MapAxSize}/\O{29.7}]\2,\;$\39$\ldots$\6 +$\.{'Clipping'},\;$\39$\.{'off'})\2;\;$\Y\par +\Us15, 17\ETs18.\fi + +\M17. Genest inspringen: +\Y\P\4\X17:call \PB{$\\{bsm}$}\X${}\S{}$\7 +\X16:define axes\X\6 +$\\{bsm}(\1\\{bs\_Map},\;$\39$\ldots$\6 +$\.{'Type'},\;$\39$\\{bso\_Type},\;$\39$\ldots$\6 +$\.{'Shoulders'},\;$\39$\\{bso\_Shoulders},\;$\39$\ldots$\6 +$\.{'PlusMinSize'},\;$\39$\\{bso\_PlusMinSize},\;$\39$\ldots$\6 +$\.{'Grey'},\;$\39$\\{bso\_Grey},\;$\39$\ldots$\6 +$\.{'Fine'},\;$\39$\\{bso\_Fine},\;$\39$\ldots$\6 +$\.{'Nlevels'},\;$\39$\\{bso\_Nlevels},\;$\39$\ldots$\6 +$\.{'Leadnr'},\;$\39$\\{bso\_Leadnr},\;$\39$\ldots$\6 +$\.{'Lead'},\;$\39$(\1\\{bs\_BA\_Reg}(\1\\{abs}(\1\\{bso\_Leadnr})\2,\;$\39$% +\\{bso\_Lead\_Begin}\mathbin:\\{bso\_Lead\_End})\2)\2,\;$\39$\ldots$\6 +$\.{'Points'},\;$\39$[\1\\{bso\_Points}(\1\O{1})\2-\\{bso\_Lead\_Begin},\;$\39$% +\ldots$\6 +$\\{bso\_Points}(\1\O{2})\2-\\{bso\_Lead\_Begin}]\2)\2;\;$\7 +$\\{drawnow}$\5 +\C{ Deze drawnow zorgt ervoor dat als er in het voorgaande een }\6 +\C{ sequence lost raakt het script daar niet op blijft hangen. }\Y\par +\U15.\fi + +\M18. +\Y\P\4\X18:print map info\X${}\S{}$\7 +\X16:define axes\X\6 +$\\{text}(\1\O{3},\;$\39$\O{6},\;$\39$[\1\.{'pos.\ contour\ interval:\ '},\;$% +\39$\\{num2str}(\1\\{PosInterval})\2]\2,\;$\39$\ldots$\6 +$\.{'Color'},\;$\39$\\{textcolour})\2;\;$\6 +$\\{text}(\1\O{3},\;$\39$\O{5},\;$\39$[\1\.{'neg.\ contour\ interval:\ '},\;$% +\39$\\{num2str}(\1\\{NegInterval})\2]\2,\;$\39$\ldots$\6 +$\.{'Color'},\;$\39$\\{textcolour})\2;\;$\6 +$\\{text}(\1\O{3},\;$\39$\O{4},\;$\39$[\1\.{'Sample:\ '},\;$\39$\\{num2str}(\1% +\\{bs\_CurSampleNr})\2]\2,\;$\39$\ldots$\6 +$\.{'Color'},\;$\39$\\{textcolour})\2;\;$\6 +$\\{text}(\1\O{3},\;$\39$\O{3},\;$\39$[\1\.{'Baseline:\ '},\;$\39$\ldots$\6 +$\\{num2str}(\1\\{bs\_BaseLn1})\2,\;$\39$\.{'\ \ \ \ '},\;$\39$\ldots$\6 +$\\{num2str}(\1\\{bs\_BaseLn2})\2]\2,\;$\39$\.{'Color'},\;$\39$\\{textcolour})% +\2;\;$\Y\par +\U7.\fi + +\M19. De extra ruimte wordt gegenereerd door dubbele newlines, die in MWEB +equivalent zijn met \verb"@#". +\Y\P\4\X19:create menu's\X${}\S{}$\7 +$\\{bs\_bsmWin\_PrintMenu}=\\{uimenu}(\1\.{'Label'},\;$\39$\.{'Print'},\;$\39$% +\.{'Separator'},\;$\39$\.{'on'})\2;\;$\7 +$\\{bs\_bsmWin\_PrintSubMenu}=\\{uimenu}(\1\\{bs\_bsmWin\_PrintMenu},\;$\39$% +\ldots$\6 +$\.{'Label'},\;$\39$\.{'\ '},\;$\39$\ldots$\6 +$\.{'Separator'},\;$\39$\.{'on'},\;$\39$\ldots$\6 +$\.{'Callback'},\;$\39$[\1\.{'print\ -dps\ -f'},\;$\39$\\{num2str}(\1\\{gcf})% +\2]\2)\2;\;$\Y\par +\U7.\fi + +\M20. functiedefinities: + +\Y\P$\&{function}\ $\1$\\{blah}(\1\\{arg1},\;\\{arg2})\2$\7 +$\|{a}$ $=$ $\&{function}\ $\1$\\{boeh}(\1\\{arg1})\2$\7 +$\&{for}\ \|{i}=\O{1}\mathbin:\O{3}$\1\6 +$\|{a}=\|{b}+\|{c}(\1\|{i})\2$\2 $\&{end}$\6 +$\\{bs\_map\_AX2}=\\{axes}(\1\ldots$\6 +$\.{'Units'},\;$\39$\.{'normalized'},\;$\39$\ldots$\6 +$\.{'Position'},\;$\39$[\1\O{4}/\O{21},\;$\39$\O{12}/\O{29.7},\;$\39$\\{bso% +\_MapAxSize}/\O{21},\;$\39$\\{bso\_MapAxSize}/\O{29.7}]\2,\;$\39$\ldots$\6 +$\.{'Clipping'},\;$\39$\.{'off'})\2;\;$\par +\fi + + +\inx +\:\\{abs}, 17. +\:\\{arg1}, 20. +\:\\{arg2}, 20. +\:\\{axes}, 13, 16, 20. +\:\\{a4paper}, 13. +\:\\{blah}, 20. +\:\\{boeh}, 20. +\:\\{bs\_adj}, 12. +\:\\{bs\_BA\_Reg}, 12, 15, 17. +\:\\{bs\_BaseLineAlgorithm}, 12. +\:\\{bs\_BaseLineWidth}, 12. +\:\\{bs\_BaseLn1}, 12, 18. +\:\\{bs\_BaseLn2}, 12, 18. +\:\\{bs\_BeginSampleNr}, \[7]. +\:\\{bs\_bsmWin\_PrintMenu}, 19. +\:\\{bs\_bsmWin\_PrintSubMenu}, 19. +\:\\{bs\_ColourOpt}, 1, 9. +\:\\{bs\_CurSampleNr}, 15, 18. +\:\\{bs\_EndSampleNr}, \[7]. +\:\\{bs\_FigScale}, 13. +\:\\{bs\_filename}, 14. +\:\\{bs\_infostring}, 14. +\:\\{bs\_Map}, 15, 17. +\:\\{bs\_map\_AX1}, 13. +\:\\{bs\_map\_AX2}, 16, 20. +\:\\{bs\_map\_winH}, 13. +\:\\{bs\_Reg}, 12. +\:\\{bs\_rejected}, 12, 15. +\:\\{bsm}, 17. +\:\\{bso\_Fine}, \[7], 17. +\:\\{bso\_Grey}, \[7], 17. +\:\\{bso\_Lead\_Begin}, 17. +\:\\{bso\_Lead\_End}, 17. +\:\\{bso\_Leadnr}, 17. +\:\\{bso\_map}, 8. +\:\\{bso\_MapAxSize}, \[7], 16, 20. +\:\\{bso\_ml}, 8. +\:\\{bso\_Nlevels}, \[7], 17. +\:\\{bso\_PlusMinSize}, \[7], 17. +\:\\{bso\_Points}, \[7], 17. +\:\\{bso\_Shoulders}, \[7], 17. +\:\\{bso\_Type}, \[7], 9, 17. +\:\\{drawnow}, 17. +\:\\{gcf}, 19. +\:\\{getmap}, 15. +\:\\{int}, 1. +\:\\{length}, 14. +\:\\{maptype}, \[1]. +\:\\{matrix}, 4. +\:$\Nchannels$, \[12]. +\:\\{NegInterval}, \[7], 18. +\:\\{num2str}, 18, 19. +\:\\{ones}, 10, 12. +\:\\{PosInterval}, \[7], 18. +\:\\{some\_lousy\_variable\_with\_an\_ExtraordinaryLongName}, 2. +\:\\{TeX}, 12. +\:\\{text}, 2, 11, 14, 18. +\:\\{textcolour}, 9, 14, 18. +\:\\{uimenu}, 19. +\:\\{vec}, 15. +\:\\{vect}, 4, 5. +\:\\{zeros}, 12, 15. +\fin +\:\X15:Make the map\X +\U7. +\:\X4, 5:a \PB{$\&{for}\ $} loop\X +\U3. +\:\X12:adjust baseline\X +\Us2\ET7. +\:\X17:call \PB{$\\{bsm}$}\X +\U15. +\:\X19:create menu's\X +\U7. +\:\X16:define axes\X +\Us15, 17\ETs18. +\:\X13:make a figure window and axes\X +\U7. +\:\X8, 9:parameter handling\X +\U7. +\:\X14:patient information\X +\U7. +\:\X18:print map info\X +\U7. +\con |