summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketcindy/ketlib/ketpicscifiles6/Makevaltable.sci
blob: dc917f307228be7c100c23b9eb650de32bd5f79f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//  08.09.09
//  08.10.08
//  08.12.06
//  08.12.30
//  09.06.03
// 13.10.19 ( __ added to variables )

function [Zval__,Xval__,Yval__]=Makevaltable(MS__)
  Eps__=10^(-6);
  Nargs__=Mixlength(MS__);
  Fstr__=Mixop(1,MS__);
  Tmp__=Mixop(2,MS__);
  Tmp1__=mtlb_findstr(Tmp__,'=');
  Xname__=part(Tmp__,Tmp1__-1);
  Xrange__=evstr(part(Tmp__,Tmp1__+1:length(Tmp__)));
  Tmp__=Mixop(3,MS__);
  Tmp1__=mtlb_findstr(Tmp__,'=');
  Yname__=part(Tmp__,Tmp1__-1);
  Yrange__=evstr(part(Tmp__,Tmp1__+1:length(Tmp__)));
  Tmp__=strsubst(Fstr__,Xname__,'x');
  Fstr__=strsubst(Tmp__,Yname__,'y');
  Tmp__=mtlb_findstr(Fstr__,Xname__);
  if length(Tmp__)==0
    Fstr__=Fstr__+'+0*x';
  end;
  Mdv__=50;
  Ndv__=50;
  if Nargs__>=4
    Tmp__=Mixop(4,MS__);
    if length(Tmp__)>1
      Mdv__=Tmp__(1,1);
      Ndv__=Tmp__(1,2);
    else
      Mdv__=Tmp__
      if Nargs__==4
        Ndv__=Mdv__
      else
        Tmp1__=Mixop(5,MS__);
        if type(Tmp1__)==1 & length(Tmp1__)==1
          Ndv__=Tmp1__;
        else
          Ndv__=Mdv__;
        end
      end
    end
  end
  X1__=Xrange__(1); X2__=Xrange__(2);
  Y1__=Yrange__(1); Y2__=Yrange__(2);
  Dx__=(X2__-X1__)/(Mdv__-1);
  Dy__=(Y2__-Y1__)/(Ndv__-1);
  Xval__=[];  
  Tmp__=X1__;
  while Tmp__<X2__+Eps__
    Xval__=[Xval__,Tmp__];
    Tmp__=Tmp__+Dx__;
  end;
  Yval__=[];
  Tmp__=Y1__;
  while Tmp__<Y2__+Eps__
    Yval__=[Yval__,Tmp__];
    Tmp__=Tmp__+Dy__;
  end;
  I__=1;
//  x=Xval;
//  for y=Yval
//    Tmp=evstr(Fstr);
//    Zval(I,:)=Tmp;
//    I=I+1;
//  end;
  for y=Yval__
    J__=1;
    for x=Xval__
      Zval__(I__,J__)=evstr(Fstr__);
      J__=J__+1;
    end;
    I__=I__+1;
  end;
endfunction;