- 497 名前:132人目の素数さん mailto:sage [2024/04/24(水) 09:57:41.56 ID:vygCixOx.net]
- >>473
それをWolframに移植(言語の練習) 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]; If[(a2-b2)(c1-d1)==(a1-b1)(c2-d2) || (a-b)*(c-d)==0, re=Null]; If[a1==b1 && c1!=d1, re=a1+((d2-c2)/(d1-c1)(a1-c1)+c2)I]; If[a1!=b1 && c1==d1, re=c1+((a2-b2)/(a1-b1)(c1-a1)+a2)I]; p=(a2-b2)/(a1-b1); q=(c2-d2)/(c1-d1); x= ((p*a1 - a2) - (q*c1 - c2))/ (p-q); y= p*x - (p*a1 - a2); re=x+y*I ) RのifとWolframのIfでの仕様が異なるので不具合が生じた。 if文はRはFALSEならその後は評価しないが、Wolframはその続きも評価する違い。
|

|