- 502 名前:132人目の素数さん mailto:sage [2024/04/24(水) 11:40:49.27 ID:AHiYNm6q.net]
- Rの場合は関数定義内に可読性をよくするために空白行をおけるけど、
Wolfram言語だとそれは許されない。 これに気づいてデバッグするのに時間がかかった。 ; だけなら関数定義内と認識してくれる。 んで、 複素平面上で点a,bを結ぶ直線と点c,dを結ぶ直線の交点の座標を計算する関数を作れ。 の例 intsect[a_,b_,c_,d_] :=( a1=Re[a] ; a2=Im[a]; b1=Re[b] ; b2=Im[b]; c1=Re[c] ; c2=Im[c]; d1=Re[d] ; d2=Im[d]; ; mxn11=Det[{{a1,a2},{b1,b2}}]; mxn12=a1-b1; mxn21=Det[{{c1,c2},{d1,d2}}]; mxn22=c1-d1; mxn=Det[{{mxn11,mxn12},{mxn21,mxn22}}]; mxd=Det[{{a1-b1,a2-b2},{c1-d1,c2-d2}}]; x=mxn/mxd; ; myn11=mxn11; myn12=a2-b2; myn21=nxn21; myn22=c2-c2; myn=Det[{{myn11,myn12},{myn12,myn22}}]; myd=mxd; y=myn/myd; ; x+y*I ) intsect[0I,1+0I,0+1I,1+1I] intsect[0I,2+0I,1+1I,1+2I] intsect[0I,2I,-1+1I,1+1I] intsect[0I,2+0I,-1+1I,1+2I] intsect[0,1+2I,3+4I,5+6I] の結果はRの出力と合致。 分数や累乗根表示してくれるからWolframだと厳密解がだせていいのだが、 無料のWolframScriptはテキストベースなので作図は慣れたRでやっている。
|

|