on3ライブラリー
1. on3env() : on3ライブラリーのロードとlispファイルの書き出し
batchload("/home/inoue/Maxlib-20/on3lib21.mx")$
on3env()$
figs_dir : "test3_files"$
on3('ex)$
max_save()$ /* lisp ファイルに書き出す */
## ~/bin/go TMP/tmp_lang/chunk-1.mxl > TMP/tmp_lang/chunk-1.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-1.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-1.mxl
## batchload("/home/inoue/Maxlib-20/on3lib21.mx")
## on3env()
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## figs_dir:"test3_files"
## on3('ex)
## === on3('ex) : on3 関数の使用例 ===
## ▼ 基本動作
## ★ ◎ on3(0,1,3,co) = 0
## ★ ◎ on3(1,1,3,co) = 1
## ★ ◎ on3(3,1,3,co) = 0
## ★ ◎ on3(x,1,3,co) = on3(x,1,3,co)
## ★ ◎ on3(3,1,b,co) = on3(3,1,b,co)
## ★ ◎ on3(x,minf,inf,oo) = on3(x,minf,inf,oo)
## <- ( = 1 であるが,on3decomp()の仕様のため無処理とする)
## ▼ inf/minf の取扱
## ★ ◆ 不一致 ◆ on3(inf,1,inf,co)
## = 0
## <- ans = 1
## ★ ◎ on3(inf+1,1,inf,co) = 0
## ▼ 変数式の取扱
## ★ ◎ on3(a,a-1,a+3,co) = 1
## ★ ◎ on3(a+3,a-1,a+3,co) = 0
## ★ ◎ on3(t-u,t-u,(-u)+t+3,co) = 1
## ★ ◎ on3((-u)+t+3,t-u,(-u)+t+3,co) = 0
## ▼ on3()関数のリスト変換,eval評価
## ★ ◎ on3(x^2,1,4,co,list) = [on3,x^2,1,4,co]
## ★ ◎ on3(x^2,1,4,co,eval) = on3(x,1,2,co)+on3(x,-2,-1,oc)
## ★ ◎ on3(log(x),1,2,cc,eval) = on3(x,%e,%e^2,cc)
## ★ ◎ on3(sin(x),1/2,1,cc,eval) = on3(x,%pi/6,%pi/2,cc)
## ★ ◎ on3(sin(2*x+%pi/4),1/2,1,oo,eval) = on3(x,-%pi/24,%pi/8,oo)
## max_save()
## save("/tmp/max_save.lisp", all)
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-1.mxl"
2. on3ineq() : m変数不等式 on3ineq([[f,fl,fr,flr],…],’varl=[x,y,…]) の求解
figs_dir : "test3_files"$
on3ineq()$
on3ineq('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-2.mxl > TMP/tmp_lang/chunk-2.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-2.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-2.mxl
## figs_dir:"test3_files"
## on3ineq()
## --begin of on3ineq('help)--
## 機能: m変数多項式不等式 on3ineq([[f,fl,fr,flr],...],'varl=[x,y,...]) の求解
## 文法: on3ineq([f,fl,fr,flr],...) or on3ineq([[f,fl,fr,flr]],...)
## on3ineq([[f1,f1l,f1r,f1lr],[f2,f2l,f2r,f2lr],...],'varl=[x,y,...])
## 例示: on3ineq([x^2+y^2,1,9,co],'view)
## on3ineq([x^2+y^2,1,9,co],'resultonly,'view)
## メモ: on3(log(x),1,2,co,eval) による解法
## --end of on3ineq('help')--
##
## on3ineq('ex,'noview)
## --begin of on3ineq('ex)--
## --on3('ex)--
## on3ineq([x^2+y^2,1,9,co],'view)
## on3ineq([x^2+y^2,1,9,co],'resultonly,'view)
## --end of on3('ex)--
##
## ★ ( /* 例1. */
## on3ineq([x^2+y^2,1,9,co], 'resultonly,
## 'file_name=test3_files/on3ineq-ex1, noview)
## )
## CS: progn = <on3regionview> , ==2変数関数==
## ◎ out =
## on3(x,1,3,co)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo)
## +on3(x,-3,-1,oc)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo)
## +on3(x,-1,1,oo)*on3(y,-sqrt(9-x^2),-sqrt(1-x^2),oc)
## +on3(x,-1,1,oo)*on3(y,sqrt(1-x^2),sqrt(9-x^2),co)
## ★ ( /* 例2. */
## on3ineq([x^2+y^2,1,9,oc], 'resultonly,
## 'file_name=test3_files/on3ineq-ex2, noview)
## )
## CS: progn = <on3regionview> , ==2変数関数==
## out =
## on3(x,1,3,oc)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),cc)
## +on3(x,-3,-1,co)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),cc)
## +on3(x,-1,1,cc)*on3(y,-sqrt(9-x^2),-sqrt(1-x^2),co)
## +on3(x,-1,1,cc)*on3(y,sqrt(1-x^2),sqrt(9-x^2),oc)
## ★ ( /* 例3. */
## on3ineq([x^2+y^2+z^2,1,9,co], 'resultonly, 'noview ) )
## CS: progn = <on3gr> , :3次元プロット: 複数個のgr3d()オブジェクト
## ◎ reveal(w_out,6) =
## on3(x,1,3,co)*on3(y,-sqrt(Sum(2)),sqrt(9+Negterm),oo)
## *on3(z,-sqrt(Sum(3)),sqrt(Negterm+Negterm+9),oo)
## +on3(x,-3,-1,oc)*on3(y,-sqrt(Sum(2)),sqrt(9+Negterm),oo)
## *on3(z,-sqrt(Sum(3)),sqrt(Negterm+Negterm+9),oo)
## +on3(x,-1,1,oo)*on3(y,-sqrt(Sum(2)),-sqrt(Sum(2)),oc)
## *on3(z,-sqrt(Sum(3)),sqrt(Negterm+Negterm+9),oo)
## +on3(x,-1,1,oo)*on3(y,sqrt(1+Negterm),sqrt(9+Negterm),co)
## *on3(z,-sqrt(Sum(3)),sqrt(Negterm+Negterm+9),oo)
## +on3(x,-1,1,oo)*on3(y,-sqrt(Sum(2)),sqrt(1+Negterm),oo)
## *on3(z,-sqrt(Sum(3)),-sqrt(Sum(3)),oc)
## +on3(x,-1,1,oo)*on3(y,-sqrt(Sum(2)),sqrt(1+Negterm),oo)
## *on3(z,sqrt(Negterm+Negterm+1),sqrt(Negterm+Negterm+9),co)
## --end of on3ineq('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-2.mxl"
3. on3regionview() : 廃止予定 on3ineq()の入力FLと結果outsumから結果の解領域を図示する
figs_dir : "test3_files"$
on3regionview()$
on3regionview('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-3.mxl > TMP/tmp_lang/chunk-3.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-3.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-3.mxl
## figs_dir:"test3_files"
## on3regionview()
## --begin of on3regionview('help)--
## 機能: on3ineq()の入力FLと結果outsumから結果の解領域を図示する
## 文法: on3regionview(FL,outsum,...)
## 例示: on3ineq('ex); /* on3ineq()関数の共通変数FL,outsum,vsingを参照する */
## on3regionview([[y^2+x^2,1,9,co]],outsum);
## メモ: 未完成,廃止予定
## --end of on3regionview('help')--
##
## on3regionview('ex,'noview)
## --begin of on3regionview('ex)--
## CS: progn = <on3regionview> , ==2変数関数==
## progn = <on3regionview> varl = [x,y]
## progn = <on3regionview> FL = [[y^2+x^2,1,9,co]]
## progn = <on3regionview> outsum =
## on3(x,1,3,co)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo)
## +on3(x,-3,-1,oc)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo)
## +on3(x,-1,1,oo)*on3(y,-sqrt(9-x^2),-sqrt(1-x^2),oc)
## +on3(x,-1,1,oo)*on3(y,sqrt(1-x^2),sqrt(9-x^2),co)
## progn = <on3regionview> argsL =
## [title = "on3regionview",xrange = [-5,5],yrange = [-5,5],terminal = png,
## file_name = "test3_files/on3regionview",columns = 2,dimensions = [1000,500]]
## CS: progn = <on3regionview> , ==2変数関数==
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-3.mxl"
4. va_unique() : <内部使用> 端点リストvaの要素実数に [x0,o],[x0,c],[x0,s] が存在するとき[x0,s]にする
va_unique()$
va_unique('ex)$
## ~/bin/go TMP/tmp_lang/chunk-4.mxl > TMP/tmp_lang/chunk-4.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-4.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-4.mxl
## va_unique()
## --begin of va_unique('help)--
## 機能: 端点リストvaの要素実数に [x0,o],[x0,c],[x0,s] が存在するとき[x0,s]にする
## 文法: va_unique(va[i],...)
## 例示: va[1] :
## [[0,o],[1,c],[1,o],[1,s],[2,o],[-sqrt(2),o],[sqrt(2),o],
## [-(sqrt(5)-1)/2,o],[(sqrt(5)+1)/2,o]]
## ---> [1,c], [1,o] が除かれる by va[1]:va_unique(va[1])
## va[1] =
## [[0,o],[1,s],[2,o],[-sqrt(2),o],[sqrt(2),o],[-(sqrt(5)-1)/2,o],[(sqrt(5)+1)/2,o]]
## メモ:
## --end of realp('help')--
##
## va_unique('ex)
## --begin of va_unique('ex)--
## progn = <va_unique_ex>
## va[1] =
## [[0,o],[1,c],[1,o],[1,s],[2,o],[-sqrt(2),o],[sqrt(2),o],[(1-sqrt(5))/2,o],
## [(sqrt(5)+1)/2,o]]
## va_unique(va[1]) ->
## [[0,o],[1,s],[2,o],[-sqrt(2),o],[sqrt(2),o],[(1-sqrt(5))/2,o],[(sqrt(5)+1)/2,o]]
## --end of va_unique('ex) block--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-4.mxl"
5. realp() : exprが実数のときTRUEを返し,複素数のときFALSEを, 変数を含むときunknownを返す.
- exprが実数のときTRUEを返し,複素数のときFALSEを, 変数を含むときunknownを返す. 虚数部の絶対値が微小のときは実数とみなす.
realp()$
realp('ex)$
## ~/bin/go TMP/tmp_lang/chunk-5.mxl > TMP/tmp_lang/chunk-5.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-5.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-5.mxl
## realp()
## --begin of realp('help)--
## 機能: exprが実数のときTRUEを返し,複素数のときFALSEを,
## 変数を含むときunknownを返す. 虚数部の絶対値が微小のときは実数とみなす.
## 文法: realp(expr,...)
## 例示: realp(expr) -> true
## メモ:
## --end of realp('help')--
##
## realp('ex)
## --begin of realp('ex)--
## realp(1.0) = true
## realp(1.0E-10*%i+1.0) = true /* 微小虚数を含む場合 */
## realp(1.0E-6*%i+1.0) = false /* 微小虚数を含む場合 */
## realp(2*x+%i) = unknown
## realp([1.0,1.0E-10*%i+1.0,1.0E-6*%i+1.0,2*x+%i]) = [true,true,false,unknown]
## freeof(unknown,false,realp([1.0,1.0E-10*%i+1.0])) = true
## freeof(unknown,false,realp([1.0,1.0E-6*%i+1.0,2*x+%i])) = false
## --end of realp('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-5.mxl"
6. elimalg1() : eqs から変数evarを消去し変数aval についての解ansと消去式eqsを返す
elimalg1()$
elimalg1('ex)$
## ~/bin/go TMP/tmp_lang/chunk-6.mxl > TMP/tmp_lang/chunk-6.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-6.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-6.mxl
## elimalg1()
## --begin of elimalg1('help)--
## 機能: eqs から変数evarを消去し変数aval についての解ansと消去式eqsを返す
## 文法: elimalg1(eqs,evar,avar,...)
## 例示:
## メモ:
## --end of elimalg1('help')--
##
## elimalg1('ex)
## --begin of elimalg1('ex)--
## ---例--- eq : ((z-3)^2+(y-2)^2+(x-1)^2)*(z^2+y^2+x^2-1)
## CS: eq:expand(eq) =
## z^4-6*z^3+2*y^2*z^2-4*y*z^2+2*x^2*z^2-2*x*z^2+13*z^2-6*y^2*z-6*x^2*z+6*z+y^4-4*y^3
## +2*x^2*y^2-2*x*y^2+13*y^2-4*x^2*y+4*y+x^4-2*x^3+13*x^2+2*x-14
## polydeg(z^4-6*z^3+2*y^2*z^2-4*y*z^2+2*x^2*z^2-2*x*z^2+13*z^2-6*y^2*z-6*x^2*z+6*z+y^4
## -4*y^3+2*x^2*y^2-2*x*y^2+13*y^2-4*x^2*y+4*y+x^4-2*x^3+13*x^2+2*x-14)
## = [[x,y,z],[[4,3,2,1],[4,3,2,1],[4,3,2,1]]]
## ansz:algsys([eq],[z] ->
## ansz = [[z = sqrt((-y^2)-x^2+1)],[z = -sqrt((-y^2)-x^2+1)],
## [z = sqrt((-y^2)+4*y-x^2+2*x-5)+3],[z = 3-sqrt((-y^2)+4*y-x^2+2*x-5)]]
## [ansy,eqy]:elimalg1(eq,z,y) ->
## [ansy,eqy] = [[y = sqrt(1-x^2),y = -sqrt(1-x^2),y = %i*x-%i+2,y = (-%i*x)+%i+2,
## y = (3*sqrt((-56*x^2)+60*x-173)-4*x+30)/26,
## y = -(3*sqrt((-56*x^2)+60*x-173)+4*x-30)/26],
## [16*(2704*y^8+(1664*x-23296)*y^7+(9824*x^2-22144*x+94792)*y^6
## +(4608*x^3-68288*x^2+92384*x-220688)*y^5
## +(13136*x^4-50976*x^3+231472*x^2-200840*x+289945)*y^4
## +(4224*x^5-65472*x^4+160192*x^3-417728*x^2+189632*x-125700)
## *y^3
## +(7616*x^6-36832*x^5+171400*x^4-278272*x^3+421026*x^2+38142*x
## -208836)
## *y^2
## +(1280*x^7-20480*x^6+67808*x^5-198256*x^4+214592*x^3
## -150948*x^2-283680*x+369684)
## *y+1600*x^8-8000*x^7+34720*x^6-76120*x^5+138361*x^4
## -100722*x^3+3924*x^2+184842*x-178605)]]
## [ansx,eqx]:elimalg1(eqy,y,x) ->
## [ansx,eqx] = [[x = (13^(3/2)*%i+15)/28,x = -(13^(3/2)*%i-15)/28,x = -1,x = (4*%i+3)/5,
## x = -(4*%i-3)/5,x = 1,x = (26*%i-3)/10,x = -(26*%i+3)/10,
## x = (2*sqrt(205)*%i+15)/10,x = -(2*sqrt(205)*%i-15)/10],
## [7667712*(35840000000000*x^26-540160000000000*x^25+5918233600000000*x^24
## -45547509760000000*x^23
## +292766570496000000*x^22
## -1555316776755200000*x^21
## +7238296978626560000*x^20
## -29328952793538560000*x^19
## +106308422807500288000*x^18
## -342808584987972864000*x^17
## +997119418157739302400*x^16
## -2599736363176034688000*x^15
## +6109680872776589598720*x^14
## -12834000264395011242240*x^13
## +24034251828259720913856*x^12
## -39563851250680339219968*x^11
## +56245060253736636820056*x^10
## -66595670779021694783340*x^9
## +60457385243713552969949*x^8
## -31296216528311133061102*x^7
## -16211895356666020571618*x^6
## +62891276856559236492626*x^5
## -85283710230427505557560*x^4
## +74252943088136119572694*x^3
## -43554680619882980355478*x^2
## +16118994183116883553330*x
## -2907056850097955968325)]]
## --end of elimalg1('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-6.mxl"
7. chk2D() : exp内の sqrt(f(x))部において f(x)<0 の判定を行う
chk2D()$
chk2D('ex)$
## ~/bin/go TMP/tmp_lang/chunk-7.mxl > TMP/tmp_lang/chunk-7.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-7.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-7.mxl
## chk2D()
## --begin of chk2D('help)--
## 機能: exp内の sqrt(f(x))部において f(x)<0 の判定を行う
## 文法: chk2D(expr,...)
## 例示:
## メモ:
## --end of chk2D('help')--
##
## chk2D('ex)
## --begin of chk2D('ex)--
## chk2D(sqrt((-x^2)+4*x-8)+x) = true
## chk2D(sqrt((-x^2)+4*x-8)+x+sqrt(t-2)) = true
## chk2D(%i*abs(x)+x) = false
## --end of chk2D('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-7.mxl"
8. polydeg() : 多変数多項式の変数毎の次数リストを返す
polydeg()$
polydeg('ex)$
## ~/bin/go TMP/tmp_lang/chunk-8.mxl > TMP/tmp_lang/chunk-8.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-8.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-8.mxl
## polydeg()
## --begin of polydeg('help)--
## 機能: 多変数多項式の変数毎の次数リストを返す
## 文法: polydeg(expr,...)
## 例示: polydeg(x^2+4*x-8)); -> [[x],[[2,1]]]
## polydeg(expand((x^2+4*x-8)*(y-1)^3)); -> [[x,y],[[2,1],[3,2,1]]]
## メモ:
## --end of polydeg('help')--
##
## polydeg('ex)
## --begin of polydeg('ex)--
## polydeg(x^2+4*x-8) = [[x],[[2,1]]]
## polydeg(expand((x^2+4*x-8)*(y-1)^3)) = [[x,y],[[2,1],[3,2,1]]]
## --end of polydeg('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-8.mxl"
9. msort() : データ位置(昇順順位位置)を返す
msort()$
msort('ex)$
## ~/bin/go TMP/tmp_lang/chunk-9.mxl > TMP/tmp_lang/chunk-9.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-9.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-9.mxl
## msort()
## --begin of msort('help)--
## 機能: データ位置(昇順順位位置)を返す
## 文法: msort(M,{col},...)
## 例示:
## v : [30,inf,10,-sqrt(2),1+2*%i,10,1,minf],
## M : [[30,c],[inf,o],[10,c],[-sqrt(2),o],[2*%i+1,o],[10,o],[1,o],[minf,o]],
## M2: [[x,c],[x-sqrt(2),o],[x+sqrt(2),c],[x-1,c]],
## msort(v) = [8,4,7,3,6,1,2],
## msort(M,1) = [8,4,7,3,6,1,2],
## msort(M2,1) = [2,4,1,3],
## メモ:
## --end of msort('help')--
##
## msort('ex)
## --begin of msort('ex)--
## msort_ex: データ位置(昇順順位位置)を返す
## 例1 : msort(v)
## データ v: [30,inf,10,-sqrt(2),2*%i+1,10,1,minf]
## ★ msort(v)
## ◎ out = [8,4,7,3,6,1,2]
## 例2 : msort(M,1)
## データ M: [[30,c],[inf,o],[10,c],[-sqrt(2),o],[2*%i+1,o],[10,o],[1,o],[minf,o]]
## ★ msort(M,1)
## ◎ out = [8,4,7,3,6,1,2]
## 例3 : msort(M2,1)
## データ M2: [[x,c],[x-sqrt(2),o],[x+sqrt(2),c],[x-1,c]]
## ★ msort(M2,1)
## ◎ out = [2,4,1,3]
## --end of msort('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-9.mxl"
10. gcd2l() : リスト L=[f1(x),f2(x),…] から Lout:[GCD,[f1/GCD,f2/GCD]] を返す
gcd2l()$
gcd2l('ex)$
## ~/bin/go TMP/tmp_lang/chunk-10.mxl > TMP/tmp_lang/chunk-10.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-10.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-10.mxl
## gcd2l()
## --begin of gcl2L('help)--
## 機能: リスト L=[f1(x),f2(x),...] から Lout:[GCD,[f1/GCD,f2/GCD]] を返す
## 文法: gcl2L(L,...)
## 例示: gcd2l([a*b*c,b*c*d,c*a*b]); -> [b*c,[a,d,a]]
## メモ:
## --end of gcl2L('help')--
##
## gcd2l('ex)
## --begin of gcl2L('ex)--
## gcd2l([a*b*c,b*c*d,a*b*c]) = [b*c,[a,d,a]]
## --end of gcl2L('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-10.mxl"
11. mkfloat() : 虚数%iを含む数値を判定し実数であれば実数値を返す
mkfloat()$
mkfloat('ex)$
## ~/bin/go TMP/tmp_lang/chunk-11.mxl > TMP/tmp_lang/chunk-11.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-11.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-11.mxl
## mkfloat()
## --begin of mkfloat('help)--
## 機能: 虚数%iを含む数値を判定し実数であれば実数値を返す
## 文法: mkfloat(expr,...)
## 例示:
## CS: mkfloat(1.0) = 1.0
## CS: mkfloat(1.0E-10*%i+1.0) = 1.0
## CS: mkfloat(1.0E-6*%i+1.0) = null
## CS: mkfloat(2*x+%i) = unknown
## CS: mkfloat([1.0]) = [1.0]
## CS: mkfloat([1.0,1.0E-10*%i+1.0,1.0E-6*%i+1.0,2*x+%i]) = [1.0,1.0,null,unknown]
## CS: freeof(unknown,null,mkfloat([1.0,1.0E-10*%i+1.0])) = true
## CS: freeof(unknown,null,mkfloat([1.0,1.0E-10*%i+1.0,1.0E-6*%i+1.0,2*x+%i])) = false
## メモ:
## --end of mkfloat('help')--
##
## mkfloat('ex)
## --begin of mkfloat('ex)--
## CS: mkfloat(1.0) = 1.0
## CS: mkfloat(1.0E-10*%i+1.0) = 1.0
## CS: mkfloat(1.0E-6*%i+1.0) = null
## CS: mkfloat(2*x+%i) = unknown
## CS: mkfloat([1.0]) = [1.0]
## CS: mkfloat([1.0,1.0E-10*%i+1.0,1.0E-6*%i+1.0,2*x+%i]) = [1.0,1.0,null,unknown]
## CS: freeof(unknown,null,mkfloat([1.0,1.0E-10*%i+1.0])) = true
## CS: freeof(unknown,null,mkfloat([1.0,1.0E-10*%i+1.0,1.0E-6*%i+1.0,2*x+%i])) = false
## --end of mkfloat('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-11.mxl"
12. floatfix() : 数値 expr をk桁に丸めた結果を返す
floatfix()$
floatfix('ex)$
## ~/bin/go TMP/tmp_lang/chunk-12.mxl > TMP/tmp_lang/chunk-12.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-12.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-12.mxl
## floatfix()
## --begin of floatfix('help)--
## 機能: 数値 expr をk桁に丸めた結果を返す
## 文法: floatfix(expr,...)
## 例示:
## CS: floatfix(1.234567,4) = 1.235
## CS: floatfix([1.234567],4) = [1.235]
## CS: floatfix([1.234567,123456.7,1.234567E-10],3) = [1.23,123000.0,1.23E-10]
## CS: freeof(null,floatfix([1.234567,x+1.234567],4)) = false
## メモ:
## --end of floatfix('help')--
##
## floatfix('ex)
## --begin of floatfix('ex)--
## CS: floatfix(1.234567,4) = 1.235
## CS: floatfix([1.234567],4) = [1.235]
## CS: floatfix([1.234567,123456.7,1.234567E-10],3) = [1.23,123000.0,1.23E-10]
## CS: freeof(null,floatfix([1.234567,x+1.234567],4)) = false
## --end of floatfix('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-12.mxl"
13. flrlimit() : x0:浮動小数での関数f(x)の左右極限値を評価する
flrlimit()$
flrlimit('ex)$
## ~/bin/go TMP/tmp_lang/chunk-13.mxl > TMP/tmp_lang/chunk-13.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-13.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-13.mxl
## flrlimit()
## --begin of flrlimit('help)--
## 機能: x0:浮動小数での関数f(x)の左右極限値を評価する
## 文法: flrlimit(func,var,x0,...)
## 例示:
## CS: v21 =
## (sqrt(27*x^4+32*x^3-486*x^2+2187)/(2*3^(3/2))-(x^2-9)/2)^(1/3)
## -(2*x)/(3*(sqrt(27*x^4+32*x^3-486*x^2+2187)/(2*3^(3/2))-(x^2-9)/2)^(1/3))
## CS: flrlimit(v21,x,x0) = [2.4595186,2.4595186,0]
## CS: v24 =
## (sqrt(27*x^4+32*x^3-54*x^2+27)/(2*3^(3/2))-(x^2-1)/2)^(1/3)
## -(2*x)/(3*(sqrt(27*x^4+32*x^3-54*x^2+27)/(2*3^(3/2))-(x^2-1)/2)^(1/3))
## CS: flrlimit(v24,x,x0) = [1.1681861,1.1681861,0]
## CS: h1 = -sqrt(sqrt(8*x^2+1)-2*x^2-1)/sqrt(2) , x0 = 0
## CS: flrlimit(h1,x,x0) = [0.0,0.0,0]
## メモ:
## --end of flrlimit('help')--
##
## flrlimit('ex)
## --begin of flrlimit('ex)--
## CS: v21 =
## (sqrt(27*x^4+32*x^3-486*x^2+2187)/(2*3^(3/2))-(x^2-9)/2)^(1/3)
## -(2*x)/(3*(sqrt(27*x^4+32*x^3-486*x^2+2187)/(2*3^(3/2))-(x^2-9)/2)^(1/3))
## CS: flrlimit(v21,x,x0) = [2.4595186,2.4595186,0]
## CS: v24 =
## (sqrt(27*x^4+32*x^3-54*x^2+27)/(2*3^(3/2))-(x^2-1)/2)^(1/3)
## -(2*x)/(3*(sqrt(27*x^4+32*x^3-54*x^2+27)/(2*3^(3/2))-(x^2-1)/2)^(1/3))
## CS: flrlimit(v24,x,x0) = [1.1681861,1.1681861,0]
## CS: h1 = -sqrt(sqrt(8*x^2+1)-2*x^2-1)/sqrt(2) , x0 = 0
## CS: flrlimit(h1,x,x0) = [0.0,0.0,0]
## --end of flrlimit('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-13.mxl"
14. salgall() : 多連立多変数代数方程式の同時解を求める
salgall()$
salgall('ex)$
## ~/bin/go TMP/tmp_lang/chunk-14.mxl > TMP/tmp_lang/chunk-14.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-14.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-14.mxl
## salgall()
## --begin of salgall('help)--
## 機能: 多連立多変数代数方程式の同時解を求める
## 文法: salgall(eqs,varl,...)
## 例示:
## salgall([y-x^2+6*x-10, y+x^2-6*x],[x,y])
## -> [[x = 1,y = 5],[x = 5,y = 5]]
## salgall(y^3+2*x*y+x^2-1, [x,y])
## -> [[x = -2.0459579,y = 1.1678921],[x = -0.65266742,y = -0.65962984]]
## salgall((x-8)^2*((y-7)^2+(x-6)^2)*((z-5)^2+(y-4)^2+(x-3)^2)*(z^2+y^2+x^2-1),[x,y,z])
## -> [[x = 3,y = 4,z = 5],[x = 6,y = 7,z = z],[x = 8,y = y,z = z],
## [x = x,y = y,z = -sqrt((-y^2)-x^2+1)],
## [x = x,y = y,z = sqrt((-y^2)-x^2+1)]]
## メモ:
## --end of salgall('help')--
##
## salgall('ex)
## --begin of salgall('ex)--
## ★ (/* 例1 2変数方程式の同時解 */
## salgall([y-x^2+6*x-10, y+x^2-6*x], [x,y]) )
## ◎ out = [[x = 1,y = 5],[x = 5,y = 5]]
## ★ (/* 例2 2変数方程式の同時解(丸め誤差による不一致) */
## out : salgall(y^3+2*x*y+x^2-1,[x,y]),
## out : scanmap(lambda([u],if floatnump(u) then floatfix(u,7) else u),out),
## out )
## ◎ out = [[x = -2.045958,y = 1.167892],[x = -0.6526674,y = -0.6596298]]
## ★ (/* 例3 3変数方程式の同時解 */
##
## salgall((x-8)^2*((y-7)^2+(x-6)^2)*((z-5)^2+(y-4)^2+(x-3)^2)*(z^2+y^2+x^2-1),[x,y,z]) )
##
## Condition in MEVAL [or a callee]: INTERNAL-SIMPLE-ERROR: Zero divisor.
## algsys: Couldn't reduce system to a polynomial in one variable.
## ◎ out =
## [[x = 3,y = 4,z = 5],[x = 6,y = 7,z = z],[x = 8,y = y,z = z],
## [x = x,y = y,z = -sqrt((-y^2)-x^2+1)],[x = x,y = y,z = sqrt((-y^2)-x^2+1)]]
## --end of salgall('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-14.mxl"
15. sqrt2d() : z = z0 + sqrt(z1) z1 < 0 のとき z=z0 とする処理
sqrt2d()$
sqrt2d('ex)$
## ~/bin/go TMP/tmp_lang/chunk-15.mxl > TMP/tmp_lang/chunk-15.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-15.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-15.mxl
## sqrt2d()
## --begin of sqrt2d('help)--
## 機能: z = z0 + sqrt(z1) z1 < 0 のとき z=z0 とする処理
## 文法: sqrt2d(ans0,...)
## 例示:
## sqrt2d([x = x,y = y,z = sqrt((-y^2)+4*y-x^2+2*x-5)+3])
## -> [x = 1,y = 2,z = 3]
## sqrt2d([x = x,y = y,z = -sqrt((-y^2)-x^2+1)])
## -> [x = x,y = y,z = -sqrt((-y^2)-x^2+1)]
## メモ:
## --end of sqrt2d('help')--
##
## sqrt2d('ex)
## --begin of sqrt2d('ex)--
## ---例--- [x = x,y = y,z = sqrt((-y^2)+4*y-x^2+2*x-5)+3]
## 'sqrt2d([x = x,y = y,z = sqrt((-y^2)+4*y-x^2+2*x-5)+3])
## (%t3) out = [x = 1,y = 2,z = 3]
## ---例--- [x = x,y = y,z = -sqrt((-y^2)-x^2+1)]
## 'sqrt2d([x = x,y = y,z = -sqrt((-y^2)-x^2+1)])
## (%t4) out = [x = x,y = y,z = -sqrt((-y^2)-x^2+1)]
## --end of sqrt2d('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-15.mxl"
16. on3dplot2() 内部使用 : on3f:on3(f(x,y),fl,fr,flr) の解領域を表示する
figs_dir : "test3_files"$
on3dplot2()$
on3dplot2('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-16.mxl > TMP/tmp_lang/chunk-16.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-16.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-16.mxl
## figs_dir:"test3_files"
## on3dplot2()
## --begin of on3dplot2('help)--
## 機能: on3f:on3(f(x,y),fl,fr,flr) の解領域を表示する
## 文法: on3dplot2([args])
## 例示:
## c0show("例0. on3ineq()の結果を用いた実行例")$
## on3ineq([(x^2-y)/((x-1)*(y-2)),1/(x-1),1/(y-2),co],
## ’resultonly,'nooutsum,'noview)$
## on3dplot2(on3((x^2-y)/((x-1)*(y-2)),1/(x-1),1/(y-2),co),
## 'xrange=[-4,4],'yrange=[0,8],
## 'title="on3dplot2-ex0",
## 'file_name="on3dplot2-ex0",
## ''view)$
## メモ: 共通変数: vsing=[xsing,ysing]
## --end of on3dplot2('help')--
##
## on3dplot2('ex,'noview)
## --begin of on3dplot2('ex)--
## 例0. on3ineq()の結果を用いた実行例
## CS: progn = <on3ineq> , outsum =
## on3(x,(sqrt(5)+1)/2,2,co)*on3(y,x^2-x+1,(x^2+2)/2,oc)
## +on3(x,0,1,oo)*on3(y,x^2-x+1,(x^2+2)/2,oc)
## +on3(x,minf,-sqrt(2),oc)*on3(y,(x^2+2)/2,x^2-x+1,co)
## +on3(x,-sqrt(2),-(sqrt(5)-1)/2,oo)*on3(y,2,x^2-x+1,oo)
## +on3(x,sqrt(2),(sqrt(5)+1)/2,oo)*on3(y,2,(x^2+2)/2,oc)
## --[Result display]--
## varl = [x,y]
## LL =
## [[['V[1][8],'V[1][4],oc],['V[2][2],'V[2][3],co]],
## [['V[1][4],'V[1][6],oo],['V[2][1],'V[2][3],oo]],
## [['V[1][1],'V[1][2],oo],['V[2][3],'V[2][2],oc]],
## [['V[1][5],'V[1][7],oo],['V[2][1],'V[2][2],oc]],
## [['V[1][7],'V[1][3],co],['V[2][3],'V[2][2],oc]]]
## , where
## V[ 1 ]= [0,1,2,-sqrt(2),sqrt(2),-(sqrt(5)-1)/2,(sqrt(5)+1)/2,minf,inf]
## V[ 2 ]= [2,(x^2+2)/2,x^2-x+1,minf,inf]
## ---end---
## CS: 参照可能変数: varl,V,LL,vsing,on3f,fL,on3floatnump,acnode
## CS: progn = <on3regionview> , ==2変数関数==
## 例1.
## 例2.
## --end of on3dplot2('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-16.mxl"
17. on3gr2() 内部使用 : on3関数で記述された領域(2変数,孤立点も可)の作図
figs_dir : "test3_files"$
on3gr2()$
on3gr2('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-17.mxl > TMP/tmp_lang/chunk-17.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-17.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-17.mxl
## figs_dir:"test3_files"
## on3gr2()
## --begin of on3gr2('help)--
## 機能: on3関数で記述された領域(2変数,孤立点も可)の作図
## 文法: on3gr2(outsum,...)
## 例示: on3gr2(outsum)$
## on3gr2(outsum,'xrange=[0,3],'yrange=[0,3],'view)$
## メモ: 共通変数: vsing=[xsing,ysing]
## --end of on3gr2('help')--
##
## on3gr2('ex,'noview)
## --begin of on3gr2('ex)--
## --end of on3gr2('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-17.mxl"
18. on3ineq_ex() : on3式で与えた不等式の解領域を求める例を示す
figs_dir : "test3_files"$
on3ineq_ex(c2co,file_name=sconcat(figs_dir,"/","on3ineq_ex"),'noview)$
## ~/bin/go TMP/tmp_lang/chunk-18.mxl > TMP/tmp_lang/chunk-18.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-18.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-18.mxl
## figs_dir:"test3_files"
## ineqex(c2co,file_name = sconcat(figs_dir,"/","on3ineq_ex"),'noview)
## CS: === ■ ■ ■ progn = <on3ineq_ex> , ■ ■ ■ ===
## CS: excase = c2co
## CS: ev(excase) = [[[y^2+x^2,1,9,co]]]
## CS: progn = <on3ineq> , outsum =
## on3(x,1,3,co)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo)
## +on3(x,-3,-1,oc)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo)
## +on3(x,-1,1,oo)*on3(y,-sqrt(9-x^2),-sqrt(1-x^2),oc)
## +on3(x,-1,1,oo)*on3(y,sqrt(1-x^2),sqrt(9-x^2),co)
## --[Result display]--
## varl = [x,y]
## LL =
## [[['V[1][1],'V[1][2],oc],['V[2][3],'V[2][4],oo]],
## [['V[1][2],'V[1][3],oo],['V[2][3],'V[2][1],oc]],
## [['V[1][2],'V[1][3],oo],['V[2][2],'V[2][4],co]],
## [['V[1][3],'V[1][4],co],['V[2][3],'V[2][4],oo]]]
## , where
## V[ 1 ]= [-3,-1,1,3,minf,inf]
## V[ 2 ]= [-sqrt(1-x^2),sqrt(1-x^2),-sqrt(9-x^2),sqrt(9-x^2),minf,inf]
## ---end---
## CS: 参照可能変数: varl,V,LL,vsing,on3f,fL,on3floatnump,acnode
## CS: progn = <on3regionview> , ==2変数関数==
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-18.mxl"
19. on3romberg() : 1変数on3式のRomberg数値定積分
on3romberg()$
on3romberg('ex)$
## ~/bin/go TMP/tmp_lang/chunk-19.mxl > TMP/tmp_lang/chunk-19.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-19.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-19.mxl
## on3romberg()
## --begin of on3romberg('help)--
## 機能: 1変数on3式のRomberg数値定積分
## 文法: on3romberg(on3func,...)
## 例示: on3romberg(x*on3(x,1,3,co))
## メモ:
## --end of on3romberg('help')--
##
## on3romberg('ex)
## --begin of on3romberg('ex)--
## on3romberg(x*on3(x,1,3,co)) = 4.0
## --end of on3romberg('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-19.mxl"
20. on3integ10() : on3多項式の数式積分
on3integ10()$
on3integ10('ex)$
## ~/bin/go TMP/tmp_lang/chunk-20.mxl > TMP/tmp_lang/chunk-20.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-20.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-20.mxl
## on3integ10()
## --begin of on3integ10('help)--
## 機能: on3多項式の数式積分
## 文法: on3integ10(on3func,...)
## 例示: on3integ10(x*on3(x,1,3,co),x)
## メモ:
## --end of on3integ10('help')--
##
## on3integ10('ex)
## --begin of on3integ10('ex)--
## on3integ10(x*on3(x,1,3,co),x) = 4
## --end of on3integ10('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-20.mxl"
21. nor2d() : 2変量正規分布の密度関数
figs_dir : "test3_files"$
nor2d()$
nor2d('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-21.mxl > TMP/tmp_lang/chunk-21.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-21.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-21.mxl
## figs_dir:"test3_files"
## nor2d()
## --begin of nor2d('help)--
## 機能: 2変量正規分布の密度関数
## 文法: nor2d(x,y,mx,my,sx,sy,r,...)
## 例示: nor2d(x,y,0,0,1,1,0.7)
## --end of nor2d('help')--
##
## nor2d('ex,'noview)
## --begin of nor2d('ex)--
## ★ ( f : nor2d(x,y,0,0,1,1,0.7), /* 2次元正規分布の密度関数置数 */
##
## gr3v([explicit(f,x,-4,4,y,-4,4)],'title="plot of nor2d",
## 'file_name=test3_files/nor2d, noview), /* fの描画 */
## c0show(f) /* f の標示 */ )
## f = (0.70014004*%e^-(0.98039215*(y^2-1.4*x*y+x^2)))/%pi
## out = (0.70014004*%e^-(0.98039215*(y^2-1.4*x*y+x^2)))/%pi
## --end of nor2d('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-21.mxl"
22. q3() : 2変量正規分布の密度関数の積分例
figs_dir : "test3_files"$
q3()$
q3('go, 'file_name=sconcat(figs_dir,"/","q3"), 'noview)$
## ~/bin/go TMP/tmp_lang/chunk-22.mxl > TMP/tmp_lang/chunk-22.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-22.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-22.mxl
## figs_dir:"test3_files"
## q3()
## --begin of q3('help)--
## 機能: 2変量正規分布の領域[[x+y,2,inf,co],[x,-4,1,cc],[y,-4,4,cc]]の確率を求め図示する
## 文法: q3({'help|'ex|'go},...)
## 例示: q3('go, 'file_name="sconcat(figs_dir,'/','q3')", 'columns=2, 'dimensions=[1000,500])
## --end of q3('help')--
##
## q3('go,'file_name = sconcat(figs_dir,"/","q3"),'noview)
## CS: progn = <q3> , dlist =
## [terminal = png,file_name = "test3_files/q3",columns = 2,dimensions = [1000,500]]
## ★
## ( /* 領域D0の設定, 相関のある2変量標準正規分布の確率密度関数 f の設定 */
##
## D0:on3ineq([[x,-4,4,cc],[y,-4,4,cc]],'resultonly,'noview),
##
## f:nor2d(x,y, 0,0, 1,1, 0.7), /* 相関のある2変量標準正規分布の確率密度関数 */
##
## Fxy0:expand(f*D0), Fx0:on3integ19(Fxy0,y,minf,inf), F0:on3romberg(Fx0),cshow(F0)
## )
## CS: progn = <on3regionview> , ==2変数関数==
## CS: F0 = 0.99987821
## ◎ out = 0.99987821
## ★ ( fdens:f/F0, /* 打ち切り領域 D0 上の確率密度関数 */
## c0show(f,F0,fdens),
## D:on3ineq([[x+y,2,inf,co],[x,-4,1,cc],[y,-4,4,cc]],'resultonly,'noplot,'noview),
## c0show(D),Fxy:expand(fdens*D), Fx:on3integ19(Fxy,y,minf,inf), P : on3romberg(Fx) )
## f = (0.70014004*%e^-(0.98039215*(y^2-1.4*x*y+x^2)))/%pi F0 = 0.99987821 fdens =
## (0.70022531*%e^-(0.98039215*(y^2-1.4*x*y+x^2)))/%pi
## D = on3(x,-2,1,cc)*on3(y,2-x,4,cc)
## ◎ out = 0.027532472
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-22.mxl"
23. q4() : 2変量正規分布の密度関数の積分例
figs_dir : "test3_files"$
q4()$
q4('go, 'file_name=sconcat(figs_dir,"/","q4"), 'noview)$
## ~/bin/go TMP/tmp_lang/chunk-23.mxl > TMP/tmp_lang/chunk-23.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-23.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-23.mxl
## figs_dir:"test3_files"
## q4()
## --begin of q4('help)--
## 機能: 2変量正規分布の領域[[x^3+x*y+y^2,1,9,co],[y,-4,4,co]]の確率を求め図示する
## 文法: q4({'help|'ex|'go},...)
## 例示: q4('go, 'file_name="q4", 'columns=2, 'dimensions=[1000,500])
## --end of q4('help')--
##
## q4('go,'file_name = sconcat(figs_dir,"/","q4"),'noview)
## ★ ( /* 定義域 D 上の関数 f=f(x,Y) の積分 */
## D:on3ineq([[x^3+x*y+y^2,1,9,co],[y,-4,4,co]],'resultonly,'noplot,'noview),
## print("D = ",D),
## f0:exp(-(x^2+y^2)/2)/(2*%pi), Fxy:expand(f0 * D),
## print("Fxy=",Fxy),
## Fx:on3integ19(Fxy,y,minf,inf),
## print("Fx=",Fx),
## P:on3romberg(expand(Fx)),
## print("P=",P) )
## D =
## on3(x,1.0906605,2.1668449,co)*on3(y,-(sqrt((-4*x^3)+x^2+36)+x)/2,
## (sqrt((-4*x^3)+x^2+36)-x)/2,oo)
## +on3(x,-1.255383,1.0906605,oo)*on3(y,-(sqrt((-4*x^3)+x^2+36)+x)/2,
## -(sqrt((-4*x^3)+x^2+4)+x)/2,oc)
## +on3(x,-1.9359795,-1.255383,oc)*on3(y,-(sqrt((-4*x^3)+x^2+36)+x)/2,
## -(sqrt((-4*x^3)+x^2+4)+x)/2,oc)
## +on3(x,-2.5891325,-1.9359795,cc)*on3(y,-(sqrt((-4*x^3)+x^2+36)+x)/2,
## -(sqrt((-4*x^3)+x^2+4)+x)/2,oc)
## +on3(x,-1.255383,1.0906605,oo)*on3(y,(sqrt((-4*x^3)+x^2+4)-x)/2,
## (sqrt((-4*x^3)+x^2+36)-x)/2,co)
## +on3(x,-1.9359795,-1.255383,oc)*on3(y,(sqrt((-4*x^3)+x^2+4)-x)/2,4,co)
## +on3(x,-3,-2.5891325,co)*on3(y,-4,-(sqrt((-4*x^3)+x^2+4)+x)/2,cc)
## Fxy=
## (on3(x,1.0906605,2.1668449,co)*%e^((-y^2/2)-x^2/2)
## *on3(y,(-sqrt((-4*x^3)+x^2+36)/2)-x/2,
## sqrt((-4*x^3)+x^2+36)/2-x/2,oo))
## /(2*%pi)
## +(on3(x,-1.255383,1.0906605,oo)*%e^((-y^2/2)-x^2/2)
## *on3(y,(-sqrt((-4*x^3)+x^2+36)/2)-x/2,
## (-sqrt((-4*x^3)+x^2+4)/2)-x/2,oc))
## /(2*%pi)
## +(on3(x,-1.9359795,-1.255383,oc)*%e^((-y^2/2)-x^2/2)
## *on3(y,(-sqrt((-4*x^3)+x^2+36)/2)-x/2,
## (-sqrt((-4*x^3)+x^2+4)/2)-x/2,oc))
## /(2*%pi)
## +(on3(x,-2.5891325,-1.9359795,cc)*%e^((-y^2/2)-x^2/2)
## *on3(y,(-sqrt((-4*x^3)+x^2+36)/2)-x/2,
## (-sqrt((-4*x^3)+x^2+4)/2)-x/2,oc))
## /(2*%pi)
## +(on3(x,-1.255383,1.0906605,oo)*%e^((-y^2/2)-x^2/2)
## *on3(y,sqrt((-4*x^3)+x^2+4)/2-x/2,
## sqrt((-4*x^3)+x^2+36)/2-x/2,co))
## /(2*%pi)
## +(on3(x,-1.9359795,-1.255383,oc)*%e^((-y^2/2)-x^2/2)
## *on3(y,sqrt((-4*x^3)+x^2+4)/2-x/2,4,co))
## /(2*%pi)
## +(on3(x,-3,-2.5891325,co)*%e^((-y^2/2)-x^2/2)
## *on3(y,-4,(-sqrt((-4*x^3)+x^2+4)/2)-x/2,cc))
## /(2*%pi)
## Fx=
## (%e^-(x^2/2)*(sqrt(%pi)*on3(x,-1.255383,1.0906605,oo)
## *(sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)+x)/2^(3/2))
## +sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)-x)/2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)+x)/2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)-x)/2^(3/2)))
## +sqrt(%pi)*on3(x,1.0906605,2.1668449,co)
## *(sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)+x)/2^(3/2))
## +sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)-x)/2^(3/2)))
## +sqrt(%pi)*on3(x,-1.9359795,-1.255383,oc)
## *(sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)+x)/2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)+x)/2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)-x)/2^(3/2))
## +sqrt(2)*erf(2^(3/2)))
## +sqrt(%pi)*on3(x,-2.5891325,-1.9359795,cc)
## *(sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)+x)/2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)+x)/2^(3/2)))
## +sqrt(%pi)*on3(x,-3,-2.5891325,co)
## *(sqrt(2)*erf(2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)+x)/2^(3/2)))))
## /(4*%pi)
## P= 0.36309648
## ◎ out = 0.36309648
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-23.mxl"
24. on3ineq_jex() 0除算エラー改善済 : 第2論文で扱った不等式解とその解析解
figs_dir : "test3_files"$
on3ineq_jex()$
on3ineq_jex('ex,'noview,'resultonly,'nooutsum)$
## ~/bin/go TMP/tmp_lang/chunk-24.mxl > TMP/tmp_lang/chunk-24.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-24.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-24.mxl
## figs_dir:"test3_files"
## on3ineq_jex()
## --begin of on3ineq_jex('help)--
## 機能: JJAS 2011 の例題を検証する
## 文法: on3ineq_jex({'help|'ex|'go},...)
## 例示: on3ineq_jex('go)$ 全ての例題ex0,ex1,...,ex8 を実行
## on3ineq_jex('go, [ex0,ex3])$ 例題ex0,ex3のみ実行
## --end of on3ineq_jex('help')--
##
## on3ineq_jex('ex,'noview,'resultonly,'nooutsum)
## --begin of on3ineq_jex('ex)--
## 実行例リスト: Lex = [ex0,ex1,ex2,ex3,ex4,ex5,ex6,ex7,ex8]
## CS: progn = <on3regionview> , ==2変数関数==
## CS: progn = <on3regionview> , ==2変数関数==
## CS: progn = <on3regionview> , ==2変数関数==
## CS: progn = <on3regionview> , ==2変数関数==
## CS: progn = <on3regionview> , ==2変数関数==
## CS: progn = <on3regionview> , ==2変数関数==
## CS: progn = <on3regionview> , ==2変数関数==
## CS: progn = <q3> , dlist =
## [terminal = png,file_name = "test3_files/jjas-ex7",columns = 2,
## dimensions = [1000,500]]
## ★
## ( /* 領域D0の設定, 相関のある2変量標準正規分布の確率密度関数 f の設定 */
##
## D0:on3ineq([[x,-4,4,cc],[y,-4,4,cc]],'resultonly,'noview),
##
## f:nor2d(x,y, 0,0, 1,1, 0.7), /* 相関のある2変量標準正規分布の確率密度関数 */
##
## Fxy0:expand(f*D0), Fx0:on3integ19(Fxy0,y,minf,inf), F0:on3romberg(Fx0),cshow(F0)
## )
## CS: progn = <on3regionview> , ==2変数関数==
## CS: F0 = 0.99987821
## ◎ out = 0.99987821
## ★ ( fdens:f/F0, /* 打ち切り領域 D0 上の確率密度関数 */
## c0show(f,F0,fdens),
## D:on3ineq([[x+y,2,inf,co],[x,-4,1,cc],[y,-4,4,cc]],'resultonly,'noplot,'noview),
## c0show(D),Fxy:expand(fdens*D), Fx:on3integ19(Fxy,y,minf,inf), P : on3romberg(Fx) )
## f = (0.70014004*%e^-(0.98039215*(y^2-1.4*x*y+x^2)))/%pi F0 = 0.99987821 fdens =
## (0.70022531*%e^-(0.98039215*(y^2-1.4*x*y+x^2)))/%pi
## D = on3(x,-2,1,cc)*on3(y,2-x,4,cc)
## ◎ out = 0.027532472
## ★ ( /* 定義域 D 上の関数 f=f(x,Y) の積分 */
## D:on3ineq([[x^3+x*y+y^2,1,9,co],[y,-4,4,co]],'resultonly,'noplot,'noview),
## print("D = ",D),
## f0:exp(-(x^2+y^2)/2)/(2*%pi), Fxy:expand(f0 * D),
## print("Fxy=",Fxy),
## Fx:on3integ19(Fxy,y,minf,inf),
## print("Fx=",Fx),
## P:on3romberg(expand(Fx)),
## print("P=",P) )
## D =
## on3(x,1.0906605,2.1668449,co)*on3(y,-(sqrt((-4*x^3)+x^2+36)+x)/2,
## (sqrt((-4*x^3)+x^2+36)-x)/2,oo)
## +on3(x,-1.255383,1.0906605,oo)*on3(y,-(sqrt((-4*x^3)+x^2+36)+x)/2,
## -(sqrt((-4*x^3)+x^2+4)+x)/2,oc)
## +on3(x,-1.9359795,-1.255383,oc)*on3(y,-(sqrt((-4*x^3)+x^2+36)+x)/2,
## -(sqrt((-4*x^3)+x^2+4)+x)/2,oc)
## +on3(x,-2.5891325,-1.9359795,cc)*on3(y,-(sqrt((-4*x^3)+x^2+36)+x)/2,
## -(sqrt((-4*x^3)+x^2+4)+x)/2,oc)
## +on3(x,-1.255383,1.0906605,oo)*on3(y,(sqrt((-4*x^3)+x^2+4)-x)/2,
## (sqrt((-4*x^3)+x^2+36)-x)/2,co)
## +on3(x,-1.9359795,-1.255383,oc)*on3(y,(sqrt((-4*x^3)+x^2+4)-x)/2,4,co)
## +on3(x,-3,-2.5891325,co)*on3(y,-4,-(sqrt((-4*x^3)+x^2+4)+x)/2,cc)
## Fxy=
## (on3(x,1.0906605,2.1668449,co)*%e^((-y^2/2)-x^2/2)
## *on3(y,(-sqrt((-4*x^3)+x^2+36)/2)-x/2,
## sqrt((-4*x^3)+x^2+36)/2-x/2,oo))
## /(2*%pi)
## +(on3(x,-1.255383,1.0906605,oo)*%e^((-y^2/2)-x^2/2)
## *on3(y,(-sqrt((-4*x^3)+x^2+36)/2)-x/2,
## (-sqrt((-4*x^3)+x^2+4)/2)-x/2,oc))
## /(2*%pi)
## +(on3(x,-1.9359795,-1.255383,oc)*%e^((-y^2/2)-x^2/2)
## *on3(y,(-sqrt((-4*x^3)+x^2+36)/2)-x/2,
## (-sqrt((-4*x^3)+x^2+4)/2)-x/2,oc))
## /(2*%pi)
## +(on3(x,-2.5891325,-1.9359795,cc)*%e^((-y^2/2)-x^2/2)
## *on3(y,(-sqrt((-4*x^3)+x^2+36)/2)-x/2,
## (-sqrt((-4*x^3)+x^2+4)/2)-x/2,oc))
## /(2*%pi)
## +(on3(x,-1.255383,1.0906605,oo)*%e^((-y^2/2)-x^2/2)
## *on3(y,sqrt((-4*x^3)+x^2+4)/2-x/2,
## sqrt((-4*x^3)+x^2+36)/2-x/2,co))
## /(2*%pi)
## +(on3(x,-1.9359795,-1.255383,oc)*%e^((-y^2/2)-x^2/2)
## *on3(y,sqrt((-4*x^3)+x^2+4)/2-x/2,4,co))
## /(2*%pi)
## +(on3(x,-3,-2.5891325,co)*%e^((-y^2/2)-x^2/2)
## *on3(y,-4,(-sqrt((-4*x^3)+x^2+4)/2)-x/2,cc))
## /(2*%pi)
## Fx=
## (%e^-(x^2/2)*(sqrt(%pi)*on3(x,-1.255383,1.0906605,oo)
## *(sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)+x)/2^(3/2))
## +sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)-x)/2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)+x)/2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)-x)/2^(3/2)))
## +sqrt(%pi)*on3(x,1.0906605,2.1668449,co)
## *(sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)+x)/2^(3/2))
## +sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)-x)/2^(3/2)))
## +sqrt(%pi)*on3(x,-1.9359795,-1.255383,oc)
## *(sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)+x)/2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)+x)/2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)-x)/2^(3/2))
## +sqrt(2)*erf(2^(3/2)))
## +sqrt(%pi)*on3(x,-2.5891325,-1.9359795,cc)
## *(sqrt(2)*erf((sqrt((-4*x^3)+x^2+36)+x)/2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)+x)/2^(3/2)))
## +sqrt(%pi)*on3(x,-3,-2.5891325,co)
## *(sqrt(2)*erf(2^(3/2))
## -sqrt(2)*erf((sqrt((-4*x^3)+x^2+4)+x)/2^(3/2)))))
## /(4*%pi)
## P= 0.36309648
## ◎ out = 0.36309648
## --end of on3ineq_jex('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-24.mxl"
25. find_key() : キー付きリストからキー名を含む最初の要素を取り出す. キー名がない場合はFALSEを返す.
find_key()$
find_key('ex)$
## ~/bin/go TMP/tmp_lang/chunk-25.mxl > TMP/tmp_lang/chunk-25.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-25.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-25.mxl
## find_key()
## --begin of find_key('help)--
## 機能: キー付きリストからキー名を含む最初の要素を取り出す. キー名がない場合はFALSEを返す.
## 文法: find_key(list,key,...)
## 例示: find_key([key1=a,key2=b,key3=c],key2) -> key2=b
## --end of find_key('help')--
##
## find_key('ex)
## --begin of find_key('ex)--
## --begin of find_key_ex
## dlist =
## [terminal = png,file_name = "figs/find_key-1",columns = 2,dimensions = [1000,400]]
## find_key(dlist,'columns) = columns = 2
## find_key(dlist,'file_name) = file_name = "figs/find_key-1"
## find_key(dlist,'not_key_name) = false
## --end of find_key('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-25.mxl"
26. find_key_no() : キー付きリストからキー名を含む要素の位置を取り出す
find_key_no()$
find_key_no('ex)$
## ~/bin/go TMP/tmp_lang/chunk-26.mxl > TMP/tmp_lang/chunk-26.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-26.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-26.mxl
## find_key_no()
## --begin of find_key_no('help)--
## 機能: キー付きリストからキー名を含む要素の位置を取り出す
## 文法: find_key_no(list,key,...)
## 例示: find_key_no([key1=a,key2=b,key3=c],key2); -> 2
## find_key_no([key1=a,key2=b,key3=c],key4); -> 0
## --end of find_key_no('help')--
##
## find_key_no('ex)
## --begin of find_key_no('ex)--
## --begin of find_key_no_ex
## dlist =
## [terminal = png,file_name = "figs/find_key_no-1",columns = 2,dimensions = [1000,400]]
## find_key_no(dlist,'columns) = 3
## find_key_no(dlist,'file_name) = 2
## --end of find_key_no('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-26.mxl"
27, args_flat() : 関数引数に’argsL=[..]が存在するとき,その要素をフラットにする
args_flat()$
args_flat('ex)$
## ~/bin/go TMP/tmp_lang/chunk-27.mxl > TMP/tmp_lang/chunk-27.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-27.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-27.mxl
## args_flat()
## --begin of args_flat('help)--
## 機能: 関数引数に'argsL=[..]が存在するとき,その要素をフラットにする
## 文法: args_flat(x,y,...)
## 例示: args_flat([args])
## メモ: args=[a1,[a2,[a31,a32]], 'argsL=['xrange=[1,2], 'yrange=[3,4], ...]]
## -> flat_args = [a1,[a2,[a31,a32]], 'xrange=[1,2], 'yrange=[3,4], ...]
## 注: flatten(args) ではargsの第2成分のリスト構造が壊れる
## --end of args_flat('help')--
##
## args_flat('ex)
## --begin of args_flat('ex)--
## --begin of args_flat('ex)--
## 例1.argsL=が存在するとき
## 入力
## 'args_flat(x*on3(x,2,4,co)+x^2*on3(x,1,3,co),
## ["+",x*on3(x,2,4,co),x^2*on3(x,1,3,co)],viewmode = true,
## argsL = [xrange = [1,2],yrange = [3,4]])
## 結果 args1
## 例2.argsL=が存在しないとき
## 入力
## 'args_flat(x*on3(x,2,4,co)+x^2*on3(x,1,3,co),
## ["+",x*on3(x,2,4,co),x^2*on3(x,1,3,co)],viewmode = true,xrange = [1,2],
## yrange = [3,4])
## 結果 args1
## --end of args_flat('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-27.mxl"
28. mk_fullname() : draw 関数の引数 file_name, terminal から fullname を生成する
mk_fullname()$
mk_fullname('ex)$
## ~/bin/go TMP/tmp_lang/chunk-28.mxl > TMP/tmp_lang/chunk-28.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-28.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-28.mxl
## mk_fullname()
## --begin of mk_fullname('help)--
## 機能: draw 関数の引数 file_name, terminal から fullname を生成する
## 文法: mk_fullname(dlist)
## 例示: mk_fullname([file_name="tmp",'terminal='png])
## -> "tmp.png"
## --end of mk_fullname('help')--
##
## mk_fullname('ex)
## --begin of mk_fullname('ex)--
## mk_fullname([file_name = sconcat(figs_dir,"/","mk_fullname"),'terminal = 'png]) =
## figs/mk_fullname.png
## --end of mk_fullname('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-28.mxl"
29. fna() : 文字列 fullname から 文字列リスト [dir,sname,ext] を生成する
fna()$
fna('ex)$
## ~/bin/go TMP/tmp_lang/chunk-29.mxl > TMP/tmp_lang/chunk-29.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-29.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-29.mxl
## fna()
## --begin of fna('help)--
## 機能: 文字列 fullname から 文字列リスト [dir,sname,ext] を生成する
## 文法: fna(fullname)
## 例示: fna("tmp.png") -> ["/tmp/", "tmp", "png"]
## --end of fna('help')--
##
## fna('ex)
## --begin of fna('ex)--
## fna("/tmp/tmp.png") = ["/tmp/","tmp","png"]
## --end of fna('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-29.mxl"
30. list2str() : リストの全ての要素を文字列化する
list2str()$
list2str('ex)$
## ~/bin/go TMP/tmp_lang/chunk-30.mxl > TMP/tmp_lang/chunk-30.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-30.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-30.mxl
## list2str()
## --begin of list2str('help)--
## 機能: リストの全ての要素を文字列化する
## 文法: list2str(list)
## 例示: list2str(['color=blue, (x+y)^2, title="test"])
## -> "color = blue, (y+x)^2, title = "test""
## --end of list2str('help')--
##
## list2str('ex)
## --begin of list2str('ex)--
## exp1 = (y+x)^2
## L = [color = blue,(y+x)^2,file_name = "figs/list2str",terminal = png]
## map(stringp,L) = [false,false,false,false]
## list2str(L) = color = blue, (y+x)^2, file_name = "figs/list2str", terminal = png
## stringp(list2str(L)) = true
## --end of list2str('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-30.mxl"
31. ush() : UNIXシェルを実行する
ush()$
ush('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-31.mxl > TMP/tmp_lang/chunk-31.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-31.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-31.mxl
## ush()
## --begin of ush('help)--
## 機能: xとyの和を求める
## 文法: ush(script,...)
## 例示: ush("eog tmp.png")
## --end of ush('help')--
##
## ush('ex,'noview)
## --begin of ush('ex)--
## script = eog tmp.png , stringp(script) = true
## 実行を省略する
## --end of ush('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-31.mxl"
32. mk_draw() : 複数のグラフィックオブジェクトをdraw()に引き継ぎ作画する
figs_dir : "test3_files"$
mk_draw()$
mk_draw('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-32.mxl > TMP/tmp_lang/chunk-32.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-32.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-32.mxl
## figs_dir:"test3_files"
## mk_draw()
## --begin of mk_draw('help)--
## 機能: 複数のグラフィックオブジェクトをdraw()に引き継ぎ作画する
## 文法: mk_draw(glist,dlist,...)
## 例示: mk_draw([g1,g2],dlist)
## mk_draw()$ or mk_draw('help)$ /* このヘルプを標示する */
## mk_draw('ex)$ /* 例を実行する */
## g1 : gr2d(title="sin(x) and cos(x)",
## grid=true, yrange=[-1.25, 1.25], line_width=1.8,
## color=blue, key="sin(x)", line_type=solid,
## explicit(sin(x), x,-%pi,%pi),
## color=red, key="cos(x)", line_type=dots,
## explicit(cos(x), x, -%pi,%pi)
## ),
## f(x,y) := (x+y+5)*on3(sqrt(x^2+y^2),2,3,co),
## g2 : gr3d(enhanced3d=false, surface_hide=true, nticks=5, xu_grid=40,
## title="example of f(x,y)",
## xlabel="x", ylabel="y", zlabel="z = f(x,y)",
## explicit(f(x,y), x,-3.5,3.5, y,-3.5,3.5)
## ),
## glist : [g1,g2], /* gr2d, gr3d で生成されたグラフィックオブジェクトのリスト */
## /* dlist : draw() 関数の引数のリスト */
## dlist : [terminal='png, 'file_name=sconcat(figs_dir,'/','mk_draw-ex'),
## columns=2, dimensions=[1000,400]],
## if member('noview, args) then mk_draw(glist,dlist,'noview)
## else mk_draw(glist,dlist,'view), /* mk_draw 関数の呼び出し */
## mk_draw([g1,g2],
## ['file_name=sconcat(figs_dir,'/','gr2v'), 'columns=2, 'dimensions=[1000, 500]],
## 'view)$
## --end of mk_draw('help')--
##
## mk_draw('ex,'noview)
## --begin of mk_draw('ex)--
## ★ ( /* 例1. */
## g1 : gr2v([explicit(sin(x),x,-%pi,%pi), explicit(cos(x),x,-%pi,%pi)],
## 'yrange=[-1.2,1.2], 'title="ex1-1 of mk-draw", 'noview),
##
## g2 : gr2v([implicit(x^2+y^2=1, x,-1,1, y,-1,1)], 'xrange=[-1.1, 1.1], 'yrange=[-1.1, 1.1], 'title="ex1-2 of mk-draw ", 'noview),
##
## mk_draw([g1,g2],
## ['file_name=figfile,'columns=2,'dimensions=[1000, 500]],noview)
## )
## out = -- end of mk_draw --
## --end of mk_draw('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-32.mxl"
33. mergeL() : keylist の項目に従い, トランザクションリストの内容をマスターリストにマージする
mergeL()$
mergeL('ex)$
## ~/bin/go TMP/tmp_lang/chunk-33.mxl > TMP/tmp_lang/chunk-33.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-33.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-33.mxl
## mergeL()
## --begin of mergeL('help)--
## 機能: keylist の項目に従い, トランザクションリストの内容をマスターリストにマージする
## 文法: mergeL(mlist,tlist,keylist)
## 例示:
## keylistで定義されたキー項目に関して,mlist(マスター)の内容を
## tlist(トランザクション)の内容でマージする.
## 具体的には,キー項目がmlist,tlistに存在する場合はtlistの内容でmlistの内容で更新し,
## キー項目がtlistに存在し,mlistに存在しない場合はtlistの内容をmlistに追加する.
## なお,キー項目にない内容は対象外とし,無処理とする.
## -- example --
## mlist : [terminal='png, file_name="tmp", columns=1, dimensions=[600,500] ],
## tlist : ['file_name="ex-mergeL", 'columns=2, 'dimensions=[1000,500] ],
## keylist : ['terminal, 'file_name, 'columns, 'dimensions],
## outL : mergeL(mlit,tlist,keylist),
## --end of mergeL('help')--
##
## mergeL('ex)
## --begin of mergeL('ex)--
## progn = <mergeL> --実行例--
## mlist = [terminal = png,file_name = "figs/mergeL",columns = 1,dimensions = [600,500]]
##
## tlist = [file_name = "figs/ex-mergeL",columns = 2,dimensions = [1000,500]]
## keylist = [terminal,file_name,columns,dimensions]
## outL : mergeL(mlist,tlist,keylist)
## 結果: outL =
## [terminal = png,file_name = "figs/ex-mergeL",columns = 2,dimensions = [1000,500]]
## --end of mergeL('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-33.mxl"
34. gr2v() : 2次元(x,y)作図: 関数に不連続点が存在する場合の描画を意識した.
figs_dir : "test3_files"$
gr2v()$
gr2v('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-34.mxl > TMP/tmp_lang/chunk-34.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-34.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-34.mxl
## figs_dir:"test3_files"
## gr2v()
## --begin of gr2v('help)--
## 機能: 2次元(x,y)作図: 関数に不連続点が存在する場合の描画を意識した.
## 文法: gr2v([args]) 内容的には gr2v([作画要素],その他の設定,...)
## その他の設定: 'title="...", 'gxyrange 'xrange 'yrange, 'view
## 例示:
## gr2v()$ or gr2v('help)$ /* このヘルプを標示する */
## gr2v('ex)$ /* 例を実行する */
## gr2v([explicit(on3(x,1,3,co)+on3(x,2,4,co), x,0,5)],'gxrange, 'view)$
## gr2v([explicit(sin(x),x,-%pi,%pi)],'gxyrange,'title="ex of gr2v")$
## gr2v([explicit(sin(x),x,-%pi,%pi), explicit(cos(x),x,-%pi,%pi)],'gxyrange)$
## gr2v([implicit(x^2+y^2=1, x,-1,1, y,-1,1)])$
## gr2v([points(makelist([random(20),random(50)],k,1,10))])$
## gr2v([explicit(sin(x),x,-%pi,%pi),
## explicit(x,x,-%pi,%pi),
## explicit(-x,x,-%pi,%pi)],
## 'yrange=[-1.2,1.2], 'columns=2)$ /* gr2d にオプションを追加する */
## fp : makelist([xv,ev(f1,x=xv)],xv,[1,3]),
## g1:gr2v([explicit(f1,x,0,4),'color=red, points(fp)],'gxyrange,'noview),
## /* 複数個のgr2dオブジェクトg1,g2,g3,g4を同時に表示する例 */
## (g1 : gr2v([explicit(sin(x),x,-%pi,%pi)], 'noview),
## g2 : gr2v([explicit(sin(x),x,-%pi,%pi), explicit(cos(x),x,-%pi,%pi)], 'noview),
## g3 : gr2v([implicit(x^2+y^2=1, x,-1,1, y,-1,1)], 'noview),
## g4 : gr2v([points(makelist([random(20),random(50)],k,1,10))], 'noview) )$
## mk_draw([g1,g2,g3,g4],
## ['file_name="gr2v", 'columns=2, 'dimensions=[1000, 1000]],
## 'view)$
## --end of gr2v('help')--
##
## gr2v('ex,'noview)
## --begin of gr2v('ex)--
## ★ ( /* 例1. gxyrange の使用例 */
## gr2v([explicit(sin(t),t,-%pi,%pi), explicit(cos(t),t,-%pi,%pi)],
## 'title="ex1 of gr2v", 'gxyrange,
## 'file_name=test3_files/gr2v-ex1, noview )
## )
## out =
## gr2d(grid = true,line_width = 1.8,point_size = 1.2,color = red,key = "key1",
## line_type = solid,point_type = filled_circle,explicit(sin(t),t,-%pi,%pi),
## color = blue,key = "key2",line_type = solid,point_type = filled_circle,
## explicit(cos(t),t,-%pi,%pi),title = "ex1 of gr2v",
## xrange = [-3.7699111,4.0840704],yrange = [-1.399403,1.3996589])
## ★ ( /* 例2. gxyrange の使用例 */
## gr2v([explicit(on3(x,1,3,co)+on3(x,2,4,co),x,0,5)],
## 'title="ex2 of gr2v", 'gxyrange,
## 'file_name=test3_files/gr2v-ex2, noview )
## )
## out =
## gr2d(grid = true,line_width = 1.8,point_size = 1.2,color = red,key = "key1",
## line_type = solid,point_type = filled_circle,
## explicit(on3(x,2,4,co)+on3(x,1,3,co),x,0,5),color = red,key = "key2",
## line_type = solid,point_type = filled_circle,
## points([[1,1],[2,2],[3,1],[4,0]]),title = "ex2 of gr2v",
## xrange = [-0.5,5.75],yrange = [-0.4,2.4])
## ★ ( /* 例3. */
## g1 : gr2v([explicit(sin(x),x,-%pi,%pi),
## explicit(cos(x),x,-%pi,%pi)],
## 'gxyrange, 'title="ex2-1 of gr2v", 'noview),
## g2 : gr2v([implicit(x^2+y^2=1, x,-1,1, y,-1,1)],
## 'xrange=[-1.1, 1.1], 'yrange=[-1.1, 1.2],
## 'title="ex2-2 of gr2v ", 'noview),
## mk_draw([g1,g2],
## ['file_name=test3_files/gr2v-ex3,
## 'columns=2, 'dimensions=[1000, 500]], noview )
## )
## out = -- end of mk_draw --
## ★ ( /* 例4. on3()関数f(x), 不定積分関数F(x), F(x)の微分関数dF(x) */
## f : on3(x,1,3,co)+on3(x,2,5,co),
## g1 : gr2v([explicit(f,x,0,6)],'gxyrange,'title="f(x)",'noview),
## F : on3integ19(f,x),
## g2 : gr2v([explicit(F,x,0,6)],'gxyrange,'title="F(x)",'noview),
## dF : on3diff(F,x),
## g3 : gr2v([explicit(dF,x,0,6)],'gxyrange,'title="dF(x)",'noview),
## mk_draw([g1,g2,g3],
## ['file_name=test3_files/gr2v-ex4,
## 'columns=3,dimensions=[1500,500]],noview )
## )
## out = -- end of mk_draw --
## ★ ( /* 例5. on3()関数f(x), 不定積分関数F(x), F(x)の微分関数dF(x) */
## f : exp(x-1)*on3(x,minf,1,oo)+exp(1-x)*on3(x,1,inf,co),
## g1 : gr2v([explicit(f,x,-4,6)],'gxyrange,'title="f(x)",'noview),
## F : on3integ19(f,x),
## g2 : gr2v([explicit(F,x,-4,6)],'gxyrange,'title="F(x)",'noview),
## dF : on3diff(F,x),
## g3 : gr2v([explicit(dF,x,-4,6)],'gxyrange,'title="dF(x)",'noview),
## mk_draw([g1,g2,g3],
## ['file_name=test3_files/gr2v-ex5,
## 'columns=3,dimensions=[1500,500]],noview )
## )
## out = -- end of mk_draw --
## --end of gr2v('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-34.mxl"
35. gr3v() : 3次元グラフの作図
figs_dir : "test3_files"$
gr3v()$
gr3v('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-35.mxl > TMP/tmp_lang/chunk-35.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-35.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-35.mxl
## figs_dir:"test3_files"
## gr3v()
## --begin of gr3v('help)--
## 機能: 3次元グラフの作図
## 文法: gr3v(funcs,...)
## 例示:
## gr3v()$ or gr3v('help)$ /* このヘルプを標示する */
## gr3v('ex)$ /* 例を実行する */
## gr3v([explicit((x+y+5)*on3(sqrt(x^2+y^2),2,3,co),
## x,-3.5,3.5, y,-3.5, 3.5)], 'title="ex1 of gr3v")$
## gr3v([implicit(x^2+y^2+z^2=1, x,-1,1, y,-1,1, z,-1,1)])$
## gr3v([points(makelist([random(20),random(50),random(50)],k,1,10))])$
## --end of gr3v('help')--
##
## gr3v('ex,'noview)
## --begin of gr3v('ex)--
## ★ ( /* 例1. */
## gr3v([explicit((x+y+5)*on3(sqrt(x^2+y^2),2,3,co), x,-3.5,3.5, y,-3.5, 3.5)],
## 'title="ex1 of gr3v", 'file_name=test3_files/gr3v-ex1,noview )
## )
## out =
## gr3d(title = "ex1 of gr3v",enhanced3d = true,color = green,view = [60,30],
## interpolate_color = true,contour = none,
## explicit((y+x+5)*on3(sqrt(y^2+x^2),2,3,co),x,-3.5,3.5,y,-3.5,3.5))
## ★ ( /* 例2. */
## g1 : gr3v([explicit((x+y+5)*on3(sqrt(x^2+y^2),2,3,co), x,-3.5,3.5, y,-3.5, 3.5)],
## 'title="ex1 of gr3v", 'noview),
## g2 : gr3v([implicit(x^2+y^2+z^2=1, x,-1,1, y,-1,1, z,-1,1)],
## 'xrange=[-1.1, 1.1], 'yrange=[-1.1, 1.1], 'title="ex2 of gr3v ", 'noview),
## mk_draw([g1,g2],
## ['file_name=test3_files/gr3v-ex2,
## 'columns=2, 'dimensions=[1000, 500]], noview )
## )
## out = -- end of mk_draw --
## --end of gr3v('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-35.mxl"
36. mk_range() : ???
figs_dir : "test3_files"$
mk_range()$
mk_range('ex)$
## ~/bin/go TMP/tmp_lang/chunk-36.mxl > TMP/tmp_lang/chunk-36.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-36.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-36.mxl
## figs_dir:"test3_files"
## mk_range()
## mk_range('ex)
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-36.mxl"
37. exp2l() : exp内に使われているkeyfuncで指定された関数(複数回使用可)の引数リストを返す
exp2l()$
exp2l('ex)$
## ~/bin/go TMP/tmp_lang/chunk-37.mxl > TMP/tmp_lang/chunk-37.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-37.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-37.mxl
## exp2l()
## --begin of exp2l('help)--
## 機能: exp内に使われているkeyfuncで指定された関数(複数回使用可)の引数リストを返す
## 文法: exp2l(expr,keyfunc,...)
## 例示:
## exp2l(expr,keyfunc)$ /* 表現exp内において,keyfuncで指定された関数を検出し,その引数を返す */
## exp1 : 'gr2v([explicit(sin(x),x,-%pi,%pi)], 'noview)$
## exp2l(exp1,'explicit)$
## exp2 : 'gr2v([explicit(sin(x),x,-%pi,%pi),
## explicit(x^2,x,-%pi,%pi)], 'noview)$
## exp2l(exp2,'explicit)$
## exp3 : 'gr3v([implicit(x^2+y^2+z^2=1, x,-1,1, y,-1,1, z,-1,1)], 'noview)$
## exp2l(exp3,explicit)$ /* 未検出の例 */
## --end of exp2l('help')--
##
## exp2l('ex)
## --begin of exp2l('ex)--
## exp1 = 'gr2v([explicit(sin(x),x,-%pi,%pi)],noview)
## exp2l(exp1,'explicit) -> [[sin(x),x,-%pi,%pi]]
## exp2 = 'gr2v([explicit(sin(x),x,-%pi,%pi),explicit(x^2,x,-%pi,%pi)],noview)
## exp2l(exp2,'explicit) -> [[sin(x),x,-%pi,%pi],[x^2,x,-%pi,%pi]]
## exp3 = 'gr3v([implicit(z^2+y^2+x^2 = 1,x,-1,1,y,-1,1,z,-1,1)],noview)
## exp2l(exp3,explicit) -> []
## --end of exp2l('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-37.mxl"
38. grv() 廃止予定
figs_dir : "test3_files"$
grv()$
grv('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-38.mxl > TMP/tmp_lang/chunk-38.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-38.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-38.mxl
## figs_dir:"test3_files"
## grv()
## --begin of grv('help)--
## 機能: grオブジェクトの描画
## 文法: grv([g1])
## 例示: grv(expr)
## g1 : gr2d(explicit(sin(x)/x, x, -10,10))$
## c2co : on3(x,1,3,co)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo)
## +on3(x,-3,-1,oc)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo)
## +on3(x,-1,1,oo)*on3(y,-sqrt(9-x^2),-sqrt(1-x^2),oc)
## +on3(x,-1,1,oo)*on3(y,sqrt(1-x^2),sqrt(9-x^2),co)$
## g2 : on3gr(c2co)$ /* on3() を含む2変数関数をgr2d()で表現する */
## grv([g1,g2],columns=2,dimensions=[1000,500])$
## --end of grv('help')--
##
## grv('ex,'noview)
## --begin of grv('ex)--
## CS: --- begin of grv_ex ---
## CS: c2co =
## on3(x,1,3,co)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo)
## +on3(x,-3,-1,oc)*on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo)
## +on3(x,-1,1,oo)*on3(y,-sqrt(9-x^2),-sqrt(1-x^2),oc)
## +on3(x,-1,1,oo)*on3(y,sqrt(1-x^2),sqrt(9-x^2),co)
## CS: progn = <on3gr> , :2次元プロット: 1個のgr2d()オブジェクト
## --end of grv('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-38.mxl"
39. on3gr() : 3次元解領域の表示の試み
figs_dir : "test3_files"$
on3gr()$
on3gr('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-39.mxl > TMP/tmp_lang/chunk-39.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-39.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-39.mxl
## figs_dir:"test3_files"
## on3gr()
## --begin of on3gr('help)--
## 機能: on3関数で記述された領域(3変数も可,孤立点は不可)の作図
## 文法: on3gr(expr,...)
## 例示: on3gr(expr)
## ex2 : on3(x,0,3/5,co)*on3(y,sqrt(1-x^2),x+1,cc)
## +on3(x,sqrt(17)/2-1/2,4*sqrt(11)/5-1/5,co)*on3(y,(x+1)/2,sqrt(9-x^2),cc)
## +on3(x,3/5,sqrt(17)/2-1/2,co)*on3(y,(x+1)/2,x+1,cc),
## grex1 : ev(on3gr(ex2)),
## c0show("実行例:",grex1),
## glist : [grex1],
## dlist : [terminal=png, file_name=sconcat(figs_dir,'/','on3gr')],
## mk_draw(glist,dlist,'view)
## --end of on3gr('help')--
##
## on3gr('ex,'noview)
## --begin of on3gr('ex)--
## CS: progn = <on3gr> , :2次元プロット: 1個のgr2d()オブジェクト
## CS: 実行例: grex1 =
## gr2d(line_width = 2,color = blue,line_type = solid,explicit(sqrt(1-x^2),x,0,3/5),
## color = red,line_type = solid,explicit(x+1,x,0,3/5),color = blue,
## line_type = solid,explicit((x+1)/2,x,sqrt(17)/2-1/2,(4*sqrt(11))/5-1/5),
## color = red,line_type = solid,
## explicit(sqrt(9-x^2),x,sqrt(17)/2-1/2,(4*sqrt(11))/5-1/5),color = blue,
## line_type = solid,explicit((x+1)/2,x,3/5,sqrt(17)/2-1/2),color = red,
## line_type = solid,explicit(x+1,x,3/5,sqrt(17)/2-1/2))
## progn = <on3gr_ex> on3gr(ex3co) を実行しています.
## CS: progn = <on3gr> , :3次元プロット: 複数個のgr3d()オブジェクト
## CS: 実行例: grex2 =
## [gr3d(line_width = 2,zrange = [-5,5],color = blue,xu_grid = 40,yv_grid = 40,
## line_type = dots,
## parametric_surface(x,y,
## -on3(x,1,3,co)*sqrt((-y^2)-x^2+9)
## *on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo),x,-3.1,3.1,
## y,-3.1,3.1),color = red,xu_grid = 40,yv_grid = 40,
## line_type = dots,
## parametric_surface(x,y,
## on3(x,1,3,co)*sqrt((-y^2)-x^2+9)
## *on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo),x,-3.1,3.1,
## y,-3.1,3.1)),
## gr3d(line_width = 2,zrange = [-5,5],color = blue,xu_grid = 40,yv_grid = 40,
## line_type = dots,
## parametric_surface(x,y,
## -on3(x,-3,-1,oc)*sqrt((-y^2)-x^2+9)
## *on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo),x,-3.1,
## 3.1,y,-3.1,3.1),color = red,xu_grid = 40,yv_grid = 40,
## line_type = dots,
## parametric_surface(x,y,
## on3(x,-3,-1,oc)*sqrt((-y^2)-x^2+9)
## *on3(y,-sqrt(9-x^2),sqrt(9-x^2),oo),x,-3.1,
## 3.1,y,-3.1,3.1)),
## gr3d(line_width = 2,zrange = [-5,5],color = blue,xu_grid = 40,yv_grid = 40,
## line_type = dots,
## parametric_surface(x,y,
## -on3(x,-1,1,oo)*sqrt((-y^2)-x^2+9)
## *on3(y,-sqrt(9-x^2),-sqrt(1-x^2),oc),x,-3.1,
## 3.1,y,-3.1,3.1),color = red,xu_grid = 40,yv_grid = 40,
## line_type = dots,
## parametric_surface(x,y,
## on3(x,-1,1,oo)*sqrt((-y^2)-x^2+9)
## *on3(y,-sqrt(9-x^2),-sqrt(1-x^2),oc),x,-3.1,
## 3.1,y,-3.1,3.1)),
## gr3d(line_width = 2,zrange = [-5,5],color = blue,xu_grid = 40,yv_grid = 40,
## line_type = dots,
## parametric_surface(x,y,
## -on3(x,-1,1,oo)*sqrt((-y^2)-x^2+9)
## *on3(y,sqrt(1-x^2),sqrt(9-x^2),co),x,-3.1,3.1,
## y,-3.1,3.1),color = red,xu_grid = 40,yv_grid = 40,
## line_type = dots,
## parametric_surface(x,y,
## on3(x,-1,1,oo)*sqrt((-y^2)-x^2+9)
## *on3(y,sqrt(1-x^2),sqrt(9-x^2),co),x,-3.1,3.1,
## y,-3.1,3.1)),
## gr3d(line_width = 2,zrange = [-5,5],color = blue,xu_grid = 40,yv_grid = 40,
## line_type = dots,
## parametric_surface(x,y,
## -on3(x,-1,1,oo)*sqrt((-y^2)-x^2+9)
## *on3(y,-sqrt(1-x^2),sqrt(1-x^2),oo),x,-3.1,
## 3.1,y,-3.1,3.1),color = red,xu_grid = 40,yv_grid = 40,
## line_type = solid,
## parametric_surface(x,y,
## -on3(x,-1,1,oo)*sqrt((-y^2)-x^2+1)
## *on3(y,-sqrt(1-x^2),sqrt(1-x^2),oo),x,-3.1,
## 3.1,y,-3.1,3.1)),
## gr3d(line_width = 2,zrange = [-5,5],color = blue,xu_grid = 40,yv_grid = 40,
## line_type = solid,
## parametric_surface(x,y,
## on3(x,-1,1,oo)*sqrt((-y^2)-x^2+1)
## *on3(y,-sqrt(1-x^2),sqrt(1-x^2),oo),x,-3.1,3.1,
## y,-3.1,3.1),color = red,xu_grid = 40,yv_grid = 40,
## line_type = dots,
## parametric_surface(x,y,
## on3(x,-1,1,oo)*sqrt((-y^2)-x^2+9)
## *on3(y,-sqrt(1-x^2),sqrt(1-x^2),oo),x,-3.1,3.1,
## y,-3.1,3.1))]
## --end of on3gr('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-39.mxl"
40. on3funcdraw() : gr3d + mk_draw による描画
figs_dir : "test3_files"$
on3funcdraw()$
on3funcdraw('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-40.mxl > TMP/tmp_lang/chunk-40.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-40.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-40.mxl
## figs_dir:"test3_files"
## on3funcdraw()
## --begin of on3funcdraw('help)--
## 機能: gr3d + mk_draw による描画
## 文法: on3funcdraw([args],...)
## 例示:
## g(x,y) := (x+y+5)*on3(sqrt(x^2+y^2), 2, 3, co),
## g1 : gr3d(enhanced3d=true, color=green, cbrange=[-3,10],
## view=[60, 30],
## title="example of on3-func, and contour",
## interpolate_color=true, contour=none,
## explicit(g(x,y), x, -3.5, 3.5, y, -3.5, 3.5)),
## g2 : gr3d(view=map,enhanced3d=true, color=green, cbrange=[-3,10],
## interpolate_color=true, contour=none,
## title="example of contour ",
## explicit(g(x,y), x, -3.5, 3.5, y, -3.5, 3.5)),
## mk_draw([g1,g2],[terminal=png, file_name="tmp",
## columns=2, dimensions=[900,500]],'view),
## --end of on3funcdraw('help')--
##
## on3funcdraw('ex,'noview)
## --begin of on3funcdraw('ex)--
## --end of on3funcdraw('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-40.mxl"
41. on3varfix() : on3関数on3(x,xl,xr,xlr)の第1引数xをx_fixに変更する
on3varfix()$
on3varfix('ex)$
## ~/bin/go TMP/tmp_lang/chunk-41.mxl > TMP/tmp_lang/chunk-41.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-41.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-41.mxl
## on3varfix()
## --begin of on3varfix('help)--
## 機能: on3関数on3(x,xl,xr,xlr)の第1引数xをx_fixに変更する
## 文法: on3varfix(on3func,var,'on,...)
## 例示: on3func : a*on3(x,a,b,co)*on3(y,c,d,co),
## on3varfix(on3func,x,'on)
## on3varfix(on3func,x,'off)
## --end of on3varfix('help')--
##
## on3varfix('ex)
## --begin of on3varfix('ex)--
## ex = a*x+b
## -> out_on = a*x+b
## -> out_off = a*x+b
## ex = on3(x,a,b,co)
## -> out_on = on3(x_fix,a,b,co)
## -> out_off = on3(x,a,b,co)
## ex = a*on3(x,a,b,co)*on3(y,c,d,co)
## -> out_on = a*on3(x_fix,a,b,co)*on3(y,c,d,co)
## -> out_off = a*on3(x,a,b,co)*on3(y,c,d,co)
## --end of on3varfix('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-41.mxl"
43. chk1show() : 入力履歴と結果の検証
chk1show()$
chk1show('ex)$
## ~/bin/go TMP/tmp_lang/chunk-43.mxl > TMP/tmp_lang/chunk-43.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-43.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-43.mxl
## chk1show()
## --begin of chk1show('help)--
## 機能: 入力履歴と結果の検証
## 文法: chk1show(cmds,ans,...)
## 例示:
## chk1show("/* Ex.0 of chk1show */ @ diff(sin(x),x)" , cos(x))
## cmds : sconcat("(",
## "/* chk1showの使用例 */ @",
## "f : f1*on3(x,1,3,co) + f2*on3(x,4,6,co), /* fの定義 */ @",
## "F : on3integ19(f,x), ",
## "F : on3decomp(F) ",
## ")"
## ),
## Fans : 2*(f2+f1)*on3(x,6,inf,co)+(f2*x-4*f2+2*f1)*on3(x,4,6,co)
## +2*f1*on3(x,3,4,co)+f1*(x-1)*on3(x,1,3,co),
## chk1show(cmds,Fans),
## chk1show(cmds,""), /* (検証なしの場合) */
## --end of chk1show('help')--
##
## chk1show('ex)
## --begin of chk1show('ex)--
## ★ /* 例0. ダイレクト使用 */
## diff(sin(x),x)
## ◎ out = cos(x)
## ★ (/* 例1 chk1showの使用例 */
## f : f1*on3(x,1,3,co) + f2*on3(x,4,6,co), /* fの定義 */
## F : on3integ19(f,x), F : on3decomp21(F) )
## ◎ out =
## (2*f2+2*f1)*on3(x,6,inf,co)+(f2*(x-4)+2*f1)*on3(x,4,6,co)+2*f1*on3(x,3,4,co)
## +f1*(x-1)*on3(x,1,3,co)
## ★ (/* 例2 chk1showの使用例(検証なしの例) */
## f : f1*on3(x,1,3,co) + f2*on3(x,4,6,co), /* fの定義 */
## F : on3integ19(f,x), F : on3decomp21(F) )
## out =
## (2*f2+2*f1)*on3(x,6,inf,co)+(f2*(x-4)+2*f1)*on3(x,4,6,co)+2*f1*on3(x,3,4,co)
## +f1*(x-1)*on3(x,1,3,co)
## ★ (/* 例3 後処理が必要な場合:仮定の設定,ソート,仮定の解除 */
## assL : [1<a, a<3, 3<b], apply('assume, assL),
## out : ecsort([1,3,a,b]), forget(assL), out
## )
## ◎ out = [1,a,3,b]
## --end of chk1show('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-43.mxl"
44. logshow() 入力履歴(文字列)の一括評価
logshow()$
logshow('ex)$
## ~/bin/go TMP/tmp_lang/chunk-44.mxl > TMP/tmp_lang/chunk-44.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-44.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-44.mxl
## logshow()
## --begin of logshow('help)--
## 機能: 入力履歴(文字列)の一括評価
## 文法: logshow(cmds,...)
## 例示: logshow(cmds)
## --end of logshow('help')--
##
## logshow('ex)
## --begin of logshow('ex)--
## ★ ( /* Ex. of on3diff(f,x) */ f : x^3*on3(x,1,3,co), df : on3diff(f,x) )
## out = 3*x^2*on3(x,1,3,oo)
## --end of logshow('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-44.mxl"
45. on3chgvar3() : 3変数矩形領域の変換例
- 3変数矩形領域 D : [0 < x <1, 0 < y < 1, 0 < z < 1] から変換 [t = x + y + z, u = y, v = z] のとき (t,u,v) の領域Gを求める
figs_dir : "test3_files"$
on3chgvar3()$
on3chgvar3('go)$
## ~/bin/go TMP/tmp_lang/chunk-45.mxl > TMP/tmp_lang/chunk-45.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-45.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-45.mxl
## figs_dir:"test3_files"
## on3chgvar3()
## --begin of on3chgvar3('help)--
## 機能: 3変数矩形領域 D : [0 < x <1, 0 < y < 1, 0 < z < 1] から
## 変換 [t = x + y + z, u = y, v = z] のとき (t,u,v) の領域Gを求める
## 文法: on3chgvar3(...)
## 例示: on3chgvar3('go')
## G = on3(t,2,3,oc)*on3(u,t-2,1,cc)*on3(v,(-u)+t-1,1,cc)
## +on3(t,1,2,oc)*on3(u,0,t-1,co)*on3(v,(-u)+t-1,1,cc)
## +on3(t,1,2,oc)*on3(u,t-1,1,cc)*on3(v,0,t-u,cc)
## +on3(t,0,1,cc)*on3(u,0,t,cc)*on3(v,0,t-u,cc)
## ? on3ineq([[t-u-v, 0, 1, cc], [u, 0, 1, cc], [v, 0, 1, cc]]) では失敗する??
## (1) (2) (3)
## k1; t-u を tu として (1),(3)の不等式を tu, v について解き 結果を c0 とする.
## c0 = on3(t-u,1,2,oc)*on3(v,(-u)+t-1,1,cc)+on3(t-u,0,1,cc)*on3(v,0,t-u,cc)
## = c01 * c0v1 + c02 * c0v2
## k2: c0の t-u に関する不等式 c01 と(2)の不等式を解き,結果を out01 とする.
## k3: c0の t-u に関する不等式 c02 と(2)の不等式を解き,結果を out02 とする.
## k4: 解 out : out01*c0v1 + out02*c0v2
## --end of on3chgvar3('help')--
##
## on3chgvar3('go)
## --begin <on3chgvar3> --
## CS: progn = <on3regionview> , ==2変数関数==
## CS: c0 = on3(t-u,1,2,oc)*on3(v,(-u)+t-1,1,cc)+on3(t-u,0,1,cc)*on3(v,0,t-u,cc)
## CS: c0ans = on3(t-u,1,2,oc)*on3(v,(-u)+t-1,1,cc)+on3(t-u,0,1,cc)*on3(v,0,t-u,cc)
## CS: f2l(c0) =
## ["+",["*",1,[on3,t-u,1,2,oc],[on3,v,(-u)+t-1,1,cc]],
## ["*",1,[on3,t-u,0,1,cc],[on3,v,0,t-u,cc]]]
## CS: progn = <on3chgvar3> , c0v1 = on3(v,(-u)+t-1,1,cc) , c0v2 = on3(v,0,t-u,cc)
## CS: progn = <on3chgvar3> , c01 = [on3,t-u,1,2,oc] , c02 = [on3,t-u,0,1,cc]
## CS: progn = <on3regionview> , ==2変数関数==
## CS: progn = <on3regionview> , ==2変数関数==
## 変換後の定義域 G_tuv=out においてp.d.f.が g(t,u,v)=1 on G とする
## ★ G_tuv
## ◎ out =
## on3(t,2,3,oc)*on3(u,t-2,1,cc)*on3(v,(-u)+t-1,1,cc)
## +on3(t,1,2,oc)*on3(u,0,t-1,co)*on3(v,(-u)+t-1,1,cc)
## +on3(t,1,2,oc)*on3(u,t-1,1,cc)*on3(v,0,t-u,cc)
## +on3(t,0,1,cc)*on3(u,0,t,cc)*on3(v,0,t-u,cc)
## G_tu =
## on3(t,1,2,oc)*(t-u)*on3(u,t-1,1,cc)+on3(t,2,3,oc)*(u-t+2)*on3(u,t-2,1,cc)
## +on3(t,0,1,cc)*(t-u)*on3(u,0,t,cc)
## +on3(t,1,2,oc)*(u-t+2)*on3(u,0,t-1,co)
## G_t: T=X+y+Z の確率密度関数
## ★ G_t
## ◎ out =
## ((t^2-6*t+9)*on3(t,2,3,oc)+((-2*t^2)+6*t-3)*on3(t,1,2,oc)+t^2*on3(t,0,1,cc))/2
## CS: 全確率の確認: G = 1
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-45.mxl"
46. on3find() : on3()の積の項において指定した変数Varに関するon3(var,,,,)を検索する
on3find()$
on3find('ex)$
## ~/bin/go TMP/tmp_lang/chunk-46.mxl > TMP/tmp_lang/chunk-46.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-46.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-46.mxl
## on3find()
## --begin of on3find('help)--
## 機能: on3()の積の項において指定した変数Varに関するon3(var,,,,)を検索する
## 文法: on3find(on3func,var,...)
## 例示:
## ex = on3(x,a,b,co)*on3(y,yl,yr,oo)+x*on3(x,c,d,cc)$
## on3typep(on3func) = on3poly , on3vars(on3func) = [x,y]
## ** find ic = 1 , u = [on3,x,a,b,co]
## ** find ic = 2 , u = [on3,x,c,d,cc]
## L = ["+",["*",1,"<<here-1>>",[on3,y,yl,yr,oo]],["*",x,"<<here-2>>"]]
## --end of on3find('help')--
##
## on3find('ex)
## --begin of on3find('ex)--
## ex = on3(x,a,b,co)*on3(y,yl,yr,oo)+x*on3(x,c,d,cc)
## CS: on3typep(on3func) = on3poly , on3vars(on3func) = [x,y]
## CS: var = x
## CS: ** find ic = 1 , u = [on3,x,a,b,co]
## CS: ** find ic = 2 , u = [on3,x,c,d,cc]
## CS: L = ["+",["*",1,"<<here-1>>",[on3,y,yl,yr,oo]],["*",x,"<<here-2>>"]]
## out = "<<here-1>>"*on3(y,yl,yr,oo)+"<<here-2>>"*x
## --end of on3find('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-46.mxl"
47. funcxy() : 2変数点列データからスプライン関数を用いた曲線とそのon3関数表現
figs_dir : "test3_files"$
funcxy()$
funcxy('ex,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-47.mxl > TMP/tmp_lang/chunk-47.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-47.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-47.mxl
## figs_dir:"test3_files"
## funcxy()
## --begin of funcxy('help)--
## 機能: 2変数高次陰関数 F(x,y)=0 の描画と近似関数表現
## 文法: funcxy(func,xs,xe,...)
## 例示: funcxy(x^5-2*x^2*y+y^5,-2,2,'plot);
## funcxy(x^2+2*x*y+y^3-1,-4,4);
## --end of funcxy('help')--
##
## funcxy('ex,'noview)
## --begin of funcxy('ex)--
## == 2変数高次陰関数 F(x,y)=0 の描画と近似関数表現===
## CS: ans =
## [[-2.0,2.1819407],[-1.101169,-0.83453002],[0.0,0.0],[1.101169,0.83453002],
## [2.0,-2.1819407]]
## CS: ans =
## [[-4.0,-3.5043409],[-2.0459579,1.1678921],[-0.65266742,-0.65962984],[4.0,-1.474377]]
## --end of funcxy('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-47.mxl"
48. funcs(), findstr() : ユーザ定義の関数,マクロから指定文字列を含む関数(マクロ)名を検索する
funcs()$
funcs('ex)$
findstr()$
findstr('ex)$
## ~/bin/go TMP/tmp_lang/chunk-48.mxl > TMP/tmp_lang/chunk-48.out 2>&1
## -- <on3env> logbegin --
## maxima_tempdir = TMP/tmp_maxima figs_dir = figs
## batch("/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-48.mxl")
## read and interpret /home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-48.mxl
## funcs()
## ==ユーザ定義の関数名,マクロ名一覧: functions , sortmode= true ==
## ["ON3on3([args])","acnode_join(LWT0,[args])","args_flat([args])","ass_set([args])",
## "chk1g([args])","chk1show([args])","chk2D([args])","chk2g([args])","chk2show([args])",
## "chk3g([args])","debug_ex(x,[args])","debug_sub(y,[args])","ecsort([args])",
## "elimalg1([args])","elimalg1_ex([args])","exchk(on3func_name,exansL,[args])",
## "exchk_ex([args])","exmk(ex,[args])","exmk_ex([args])","exp2l([args])","extry([args])",
## "f2l([args])","f2l_full([args])","f2l_one([args])","fact_forget([args])",
## "fact_var([args])","find_key([args])","find_key_ex([args])","find_key_no([args])",
## "find_key_no_ex([args])","findstr([args])","findstr_ex([args])","floatfix([args])",
## "floatfix_ex([args])","flrlimit([args])","flrlimit_ex([args])","fna([args])",
## "funcs([args])","funcxy([args])","funcxy_ex([args])","gcd2l([args])",
## "globalvar([args])","gr2v([args])","gr2v_ex([args])","gr2vf([args])","gr3v([args])",
## "gr3v_ex([args])","grv([args])","grv_ex([args])","ineqex([args])","jumppoints([args])",
## "killvars([args])","l2f([args])","l2f_one([args])","list2str([args])",
## "list2str_ex([args])","ll2on3(varl,va,LL,[args])","loffuncs([args])","logshow([args])",
## "lpup([args])","mergeL([args])","mergeL_ex([args])","mk_draw([args])",
## "mk_draw_ex([args])","mk_fullname([args])","mk_yrange([args])","mkfloat([args])",
## "mkfloat_ex([args])","msort([args])","msort_ex()","nor2d([args])","on3([args])",
## "on3D2G([args])","on3D2G_ex([args])","on3_same_var([args])","on3asdecomp([args])",
## "on3asdecomp_ex([args])","on3byon3([args])","on3chgv([args])","on3chgvar2([args])",
## "on3chgvar2_ex([args])","on3chgvar2_test()","on3chgvar3([args])",
## "on3cspline(tab,[select])","on3cspline_ex([args])","on3decomp([args])",
## "on3decomp21([args])","on3decomp_decomp(expr,[args])","on3decomp_ex([args])",
## "on3decomp_inv(u,[args])","on3decomp_one([args])","on3decomp_reduce(LWT0,[args])",
## "on3decompm([args])","on3diff([args])","on3diff_ex([args])","on3dim2_exp2([args])",
## "on3dim2_uni2([args])","on3dplot2([args])","on3edge([args])","on3edge_ex([args])",
## "on3ev([args])","on3evdef([args])","on3ex([args])","on3factor([args])",
## "on3find([args])","on3find_ex([args])","on3ftrue([args])","on3funcdraw([args])",
## "on3gr([args])","on3gr2([args])","on3gr_ex([args])","on3help()","on3iftrue([args])",
## "on3ineq([args])","on3ineq_acnode(LF,[args])","on3ineq_backsolve(LF,[args])",
## "on3ineq_fwd(varl,va,vlist,vsing,[args])","on3ineq_jex([args])",
## "on3ineq_shrink([args])","on3info([args])","on3integ([args])","on3integ10([args])",
## "on3integ19([args])","on3integ19_ex([args])","on3integ20([args])",
## "on3integ20_ex([args])","on3integ_ex([args])","on3lrl([args])",
## "on3lspline(tab,[select])","on3lspline_ex([args])","on3pw_ex()","on3regionview([args])",
## "on3rngm([args])","on3rngm_ex1([args])","on3rngm_ex2([args])","on3rngone(rng1,rng2)",
## "on3romberg([args])","on3show_ex([args])","on3show_sub(funcs,[args])","on3simp([args])",
## "on3solve([args])","on3solve_ex([args])","on3std([args])","on3std_ex([args])",
## "on3termsep([args])","on3test([args])","on3typep([args])","on3varfix([args])",
## "on3vars([args])","on3x([args])","outLev([args])","p2surface([args])","polydeg([args])",
## "q3([args])","q4([args])","realp([args])","salgall([args])","salgall_ex([args])",
## "shrink10(LYLR,[args])","slit([args])","sqrt2d([args])","sqrt2d_ex([args])","t(x)",
## "ush([args])","va_unique([args])","var_fact([args])","wt(atom)"]
##
## ==ユーザ定義の関数名,マクロ名一覧: macros , sortmode= true ==
## ["c0show([lis])","c1show([lis])","c2show([lis])","c3show([lis])","cashow([lis])",
## "cshow([lis])","d1show([lis])","d2show([lis])","d3show([lis])","ifargd()",
## "max_restore([args])","max_save([args])","on3env([args])","on3lib([args])",
## "on3rules([args])","on3show([args])"]
##
## funcs('ex)
## --begin of funcs('ex)--
## ev(str) = funcs('show)
## --end of funcs('ex)--
## findstr()
## --begin of findstr('help)--
## 機能: ユーザ定義の関数,マクロから指定文字列を含む関数(マクロ)名を検索する
## 文法: findstr(str)
## 例示: findstr('solve)
## --end of findstr('help')--
##
## findstr('ex)
## --begin of func1('ex)--
## ★
## ( findstr('solve), /* 文字列solve を含む関数名,マクロ名を標示する */
##
##
## findstr('decomp), /* 文字列decomp を含む関数名,マクロ名を標示する */
##
## findstr('show) /* 文字列show を含む関数名,マクロ名を標示する */
## )
## <findstr> search string = solve
## <findstr> functions -->
## ["on3solve([args])","on3solve_ex([args])","on3ineq_backsolve(LF,[args])"]
## <findstr> macros --> []
## <findstr> search string = decomp
## <findstr> functions -->
## ["on3decomp_reduce(LWT0,[args])","on3decomp_decomp(expr,[args])",
## "on3decomp_inv(u,[args])","on3decomp_one([args])","on3asdecomp([args])",
## "on3asdecomp_ex([args])","on3decompm([args])","on3decomp21([args])",
## "on3decomp([args])","on3decomp_ex([args])"]
## <findstr> macros --> []
## <findstr> search string = show
## <findstr> functions -->
## ["chk2show([args])","on3show_sub(funcs,[args])","on3show_ex([args])",
## "logshow([args])","chk1show([args])"]
## <findstr> macros -->
## ["on3show([args])","cashow([lis])","c0show([lis])","cshow([lis])",
## "c1show([lis])","c2show([lis])","c3show([lis])","d1show([lis])",
## "d2show([lis])","d3show([lis])"]
## out = --- end of findstr ---
## --end of findstr('ex)--
## "/home/inoue/Maxlib-20/LANG/TMP/tmp_lang/chunk-48.mxl"
終わり