summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketcindy/ketlib/ketpic2escifiles6/Deqplot.sci
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/scripts/ketcindy/ketlib/ketpic2escifiles6/Deqplot.sci')
-rw-r--r--texmf-dist/scripts/ketcindy/ketlib/ketpic2escifiles6/Deqplot.sci195
1 files changed, 0 insertions, 195 deletions
diff --git a/texmf-dist/scripts/ketcindy/ketlib/ketpic2escifiles6/Deqplot.sci b/texmf-dist/scripts/ketcindy/ketlib/ketpic2escifiles6/Deqplot.sci
deleted file mode 100644
index 43d8ea6e..00000000
--- a/texmf-dist/scripts/ketcindy/ketlib/ketpic2escifiles6/Deqplot.sci
+++ /dev/null
@@ -1,195 +0,0 @@
-
-// 08.09.22
-// 09.03.10
-// 09.10.09 ( ` and order )
-// 09.10.09b ( system )
-// 09.11.12 ( debug for x<0 )
-// 13.10.19 ( __ added to variables )
-// 15.11.16 N changed to number of intervals
-// 15.12.08 bug of optiion ( __ ) fixed
-
-function P__=Deqplot(varargin)
- global XMIN XMAX YMIN YMAX
- Nargs__=length(varargin);
- Eps__=10^(-5);
- Fnstr__=varargin(1);
- Fnstr__=strsubst(Fnstr__,Prime(),'`');
- K__=mtlb_findstr(Fnstr__,'=');
- Str__=part(Fnstr__,1:(K__-1));
- Fnstr__=part(Fnstr__,(K__+1):length(Fnstr__));
- JL__=mtlb_findstr(Str__,'`');
- Yname__=part(Str__,1:(JL__(1)-1));
- Yname__=strsubst(Yname__,',',';');
- Tmp__=mtlb_findstr(Yname__,';');
- if length(Tmp__)>0
- Dim__=length(Tmp__)+1;
- Order__=1;
- Fnstr__=strsubst(Fnstr__,',',';');
- else
- Dim__=1;
- Order__=length(JL__);
- end;
- Rgstr__=varargin(2);
- K__=mtlb_findstr(Rgstr__,'=');
- if K__~=[]
- Xname__=part(Rgstr__,1:K__-1);
- Rng__=evstr(part(Rgstr__,K__+1:length(Rgstr__)));
- else
- Xname__=Rgstr__;
- Rng__=[XMIN,XMAX];
- end;
- X0__=varargin(3);
- Y0__=varargin(4);
- if size(Y0__,2)>1
- Y0__=Y0__';
- end;
- N__=50;
- if Nargs__>=5
- Tmp__=varargin(5);
- Tmp__=strsubst(Tmp__,"=","__="); // 15.12.08
- Tmp__=strsubst(Tmp__,"____","__");
- execstr(Tmp__);
- end;
- X1__=Rng__(1); X2__=Rng__(2);
- dX__=(X2__-X1__)/(N__-1);
- dX__=(X2__-X1__)/(N__); // 15.11.16
- if Dim__>1
- Tmp__=mtlb_findstr(Yname__,'[');
- Data__=part(Yname__,Tmp__+1:length(Yname__));
- Tmp__=mtlb_findstr(Data__,']');
- Data__=part(Data__,1:Tmp__-1);
- Data__=';'+Data__+';';
- NL__=mtlb_findstr(Data__,';');
- NameL__=list();
- for I__=1:length(NL__)-1
- Tmp__=part(Data__,NL__(I__)+1:NL__(I__+1)-1);
- NameL__(I__)=Tmp__;
- end;
- Fnrep__=Fnstr__;
- for I__=1:length(NameL__)
- Tmp__=NameL__(I__);
- Fnrep__=strsubst(Fnrep__,Tmp__,'Pt('+string(I__)+')');
- end;
- Tmp1__='Outf=Dfp__('+Xname__+',Pt)';
- Tmp2__='Outf='+Fnrep__;
- deff(Tmp1__,Tmp2__);
- Y0p__=Y0__;
- Tmp1__='Outf=Dfn__('+Xname__+',Pt)';
- Tmp2__='Outf=-('+Fnrep__+')';
- deff(Tmp1__,Tmp2__);
- Y0n__=Y0__;
- else
- YL__=mtlb_findstr(Fnstr__,Yname__);
- Fnrep__=part(Fnstr__,1:YL__(1)-1);
- for I__=1:length(YL__)
- Py__=YL__(I__);
- J__=1;
- K__=Py__+1;
- while part(Fnstr__,K__:K__)=='`'
- J__=J__+1; K__=K__+1;
- end;
- Fnrep__=Fnrep__+Yname__+'('+string(J__)+')';
- if I__==length(YL__)
- Fnrep__=Fnrep__+part(Fnstr__,K__:length(Fnstr__));
- else
- J__=YL__(I__+1)-1;
- if J__>=K__
- Fnrep__=Fnrep__+part(Fnstr__,K__:J__);
- end;
- end;
- end;
- Eqvec__='[';
- for I__=1:Order__-1
- Eqvec__=Eqvec__+Yname__+'('+string(I__+1)+');';
- end;
- Eqvec__=Eqvec__+Fnrep__+']';
- Tmp1__='Outf=Dfp__('+Xname__+','+Yname__+')';
- Tmp2__='Outf='+Eqvec__;
- deff(Tmp1__,Tmp2__);
- Y0p__=Y0__;
- YL__=mtlb_findstr(Fnstr__,Yname__);
- Fnrep__=part(Fnstr__,1:YL__(1)-1);
- for I__=1:length(YL__)
- Py__=YL__(I__);
- J__=1;
- K__=Py__+1;
- while part(Fnstr__,K__:K__)=='`'
- J__=J__+1; K__=K__+1;
- end;
- if modulo(J__,2)==1
- Fnrep__=Fnrep__+Yname__+'('+string(J__)+')';
- else
- Fnrep__=Fnrep__+'(-'+Yname__+'('+string(J__)+'))';
- end;
- if I__==length(YL__)
- Fnrep__=Fnrep__+part(Fnstr__,K__:length(Fnstr__));
- else
- J__=YL__(I__+1)-1;
- if J__>=K__
- Fnrep__=Fnrep__+part(Fnstr__,K__:J__);
- end;
- end;
- end;
- if modulo(Order__,2)==1
- Fnrep__='-('+Fnrep__+')';
- end;
- Fnrep__=strsubst(Fnrep__,Xname__,'(-'+Xname__+')'); // 09.11.12
- Eqvec__='[';
- for I__=1:Order__-1
- Eqvec__=Eqvec__+Yname__+'('+string(I__+1)+');';
- end;
- Eqvec__=Eqvec__+Fnrep__+']';
- Tmp1__='Outf=Dfn__('+Xname__+','+Yname__+')';
- Tmp2__='Outf='+Eqvec__;
- deff(Tmp1__,Tmp2__);
- Y0n__=[];
- for I__=1:size(Y0__,1)
- Y0n__=[Y0n__;(-1)^(I__-1)*Y0__(I__)];
- end;
- end;
- if X0__<=X1__
- X__=X1__:dX__:X2__;
- Y__=ode(Y0p__,X0__,X__,Dfp__);
- M__=min(size(X__,2),size(Y__,2));
- if Dim__>1
- PL__=Y__';
- P__=PL__(1:M__,:);
- else
- P__=[X__(:,1:M__);Y__(1,1:M__)]';
- end;
- return;
- end;
- if X2__<=X0__
- X__=(-X2__):dX__:(-X1__);
- Y__=ode(Y0n__,-X0__,X__,Dfn__);
- X__=-X__;
- M__=min(size(X__,2),size(Y__,2));
- if Dim__>1
- PL__=Y__';
- P__=PL__(1:M__,:);
- else
- P__=[X__(:,1:M__);Y__(1,1:M__)]';
- end;
- return;
- end;
- XP__=X0__:dX__:X2__;
- YP__=ode(Y0p__,X0__,XP__,Dfp__);
- M__=min(size(XP__,2),size(YP__,2));
- XP__=XP__(:,1:M__);
- YP__=YP__(:,1:M__);
- XN__=(-X0__)+dX__:dX__:(-X1__);
- YN__=ode(Y0n__,-X0__,XN__,Dfn__);
- M__=min(size(XN__,2),size(YN__,2));
- XN__=XN__(:,1:M__);
- YN__=YN__(:,1:M__);
- XN__=-XN__;
- XN__=XN__(length(XN__):-1:1);
- YN__=YN__(:,size(YN__,2):-1:1);
- if Dim__>1
- P__=[YN__';YP__']
- else
- X__=[XN__,XP__];
- Y__=[YN__(1,:),YP__(1,:)];
- P__=[X__;Y__]';
- end;
-endfunction;