このディレクトリの索引 http://pc12.2ch.net/test/read.cgi/tech/1258158172/106 # [1] 授業単元:プログラム # [2] 問題文(含コード&リンク): # ベクトルの加減、ベクトルの内積、2つのベクトルのなす角度cosθ # 2つのベクトルを適当に初期化して行う事 # ベクトルの和([A|R1],[B|R2],[C|R3]) :- C is A + B, ベクトルの和(R1,R3,R3). ベクトルの差([A|R1],[B|R2],[C|R3]) :- C is A - B, ベクトルの差(R1,R2,R3). ベクトルの積([A|R1],[B|R2],[C|R3]) :- C is A * B, ベクトルの積(R1,R2,R3). ベクトルの内積([],[],0). ベクトルの内積([A|R1],[B|R2],X) :- C is A * B, ベクトルの内積(R1,R2,Y), X is C + Y. ベクトルのノルム(_ベクトル,_ノルム) :- ベクトルのノルム(_ベクトル,0,_ノルム). ベクトルのノルム([],Y,X) :- X is sqrt(Y),!. ベクトルのノルム([A|R],Y,X) :- Z is A ^ 2 + Y, ベクトルのノルム(R,Z,X). ベクトルの角度([X,Y],_ラジアン角度) :- _ラジアン角度 is acos(X / sqrt(X^2+Y^2)).