Warning, /education/cantor/src/backends/octave/scripts/cantor_plot3d.m is written in an unsupported language. File is not indexed.

0001 %{
0002     Copyright (C) 2010 Miha Čančula <miha.cancula@gmail.com>
0003 
0004     This program is free software; you can redistribute it and/or
0005     modify it under the terms of the GNU General Public License
0006     as published by the Free Software Foundation; either version 2
0007     of the License, or (at your option) any later version.
0008 
0009     This program is distributed in the hope that it will be useful,
0010     but WITHOUT ANY WARRANTY; without even the implied warranty of
0011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0012     GNU General Public License for more details.
0013 
0014     You should have received a copy of the GNU General Public License
0015     along with this program; if not, write to the Free Software
0016     Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017     Boston, MA  02110-1301, USA.
0018 %}
0019 
0020 function cantor_plot3d(f_string,var1,min1,max1,var2,min2,max2)
0021   f_mod_string = f_string;
0022   for op = ['*' '/' '^']
0023     f_mod_string = strrep(f_mod_string, op, strcat('.',op));
0024   endfor
0025 
0026   f = str2func(strcat('@(', var1, ',', var2, ')', f_mod_string));
0027   [x,y] = meshgrid(linspace(min1,max1),linspace(min2,max2));
0028   mesh(x,y,f(x,y));
0029 
0030   xlabel(var1);
0031   ylabel(var2);
0032   zlabel(f_string);
0033 endfunction