blob: 55fdfd0f42a990f81c234d18ec287aaecb6b2b36 (
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
|
// 08.05.30
// 08.05.31
// 08.06.03
// 13.10.21 (__ added to variables )
function PL__=Sumfun(varargin)
global XMIN XMAX YMIN YMAX
Nargs__=length(varargin);
Const__=0;
Addstr__='A__=0';
J__=1;
Tmp__=varargin(1);
if type(Tmp__)==1
Const__=Tmp__;
J__=J__+1;
end
if type(Tmp__)==10
Tmp1__=Strop(length(Tmp__),Tmp__);
if Tmp1__=='+'
Addstr__='A__='+Strop(1:length(Tmp__)-1,Tmp__);
J__=J__+1
end
end
Fnstr__=varargin(J__);
Krange__=varargin(J__+1);
Xrange__=varargin(J__+2);
N=50;
for I__=J__+3:Nargs__
Tmp__=varargin(I__);
execstr(Tmp__);
end
Tmp__=mtlb_findstr(Krange__,'=');
Kname__=Strop(1:Tmp__-1,Krange__);
Tmp1__=Strop(Tmp__+1:length(Krange__),Krange__);
Tmp1__='Krg__='+Tmp1__;
execstr(Tmp1__);
Tmp__=mtlb_findstr(Xrange__,'=');
if Tmp__==[]
Xname__=Xrange__;
Xrg__=[XMIN,XMAX];
else
Xname__=Strop(1:Tmp__-1,Xrange__);
Tmp1__=Strop(Tmp__+1:length(Xrange__),Xrange__);
Tmp1__='Xrg__='+Tmp1__;
execstr(Tmp1__);
end
Dx__=(Xrg__(2)-Xrg__(1))/N;
PL__=[];
I__=0;
while I__<=N
Tmp__=Xname__+'=Xrg__(1)+I__*Dx__';
execstr(Tmp__);
J__=Krg__(1);
execstr(Addstr__);
Y__=Const__+A__;
while J__<=Krg__(length(Krg__))
Tmp__=Kname__+'=J__';
execstr(Tmp__);
execstr('Y__=Y__+'+Fnstr__);
J__=J__+1;
end
PL__=[PL__;Xrg__(1)+I__*Dx__,Y__];
I__=I__+1;
end
endfunction
|