Advertisement
Guest User

Untitled

a guest
Jun 14th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (def a1 [-1 0 -1 -1 -2])
  2. (def a2 [1 1 1 0 1])
  3. (def a3 [-1 2 -2 -4 -5])
  4. (def xG [1 2 3 1 2])
  5. ;(def a1 [1 -2 1 3 0])
  6. ;(def a2 [2 -1 0 2 -1])
  7. ;(def a3 [1 0 -1 2 0])
  8. ;(def xG [1 3 -2 1 1])
  9. (defn vAny [f]
  10.   (fn [vect1, vect2]
  11.     (mapv f vect1, vect2)))
  12.  
  13. (def v+ (vAny +))
  14.  
  15. (def v- (vAny -))
  16.  
  17. (def v* (vAny *))
  18.  
  19. (defn scalar [vect1, vect2]
  20.   (def x 0)
  21.   (mapv #(def x (+ x %)) (v* vect1, vect2))
  22.   x)
  23.  
  24. (defn vect [vect1, vect2]
  25.   (defn countScalar [i, j] (- (* (nth vect1, i) (nth vect2, j)) (* (nth vect1, j) (nth vect2, i))))
  26.   (vector (countScalar 1, 2), (countScalar 2, 0), (countScalar 0, 1)))
  27.  
  28. (defn v*s [vect, scal] (mapv #(* %, scal) vect))
  29.  
  30. (def m+ (vAny v+))
  31.  
  32. (def m- (vAny v-))
  33.  
  34. (def m* (vAny v*))
  35.  
  36. (defn m*s [matrix, scal] (mapv #(v*s %, scal) matrix))
  37.  
  38. (defn m*v [matrix, vector] (mapv #(scalar % vector) matrix))
  39.  
  40. (defn transpose [matrix] (apply mapv vector matrix));
  41.  
  42. (defn m*m [matrix1, matrix2] (transpose (mapv #(m*v matrix1 %) (transpose matrix2))))
  43.  
  44. (defn sAny
  45.   [oper]
  46.   (fn localFunc [a, b]
  47.     (if (number? a) (oper a b) (mapv localFunc a b))))
  48.  
  49. (def s+ (sAny +))
  50.  
  51. (def s- (sAny -))
  52.  
  53. (def s* (sAny *))
  54.  
  55. (def e1 a1)
  56. (def e1Norm (/(scalar e1 e1)))
  57. (println "e1 = sqrt("e1Norm ")* " e1 )
  58. (def e1' (v*s e1 ( *(scalar e1 a2) (/ (scalar e1 e1)))))
  59. (def e2 (v- a2 e1'))
  60. (def e2Norm (/(scalar e2 e2)))
  61. (println "e2 = sqrt("e2Norm ")* " e2 )
  62. (def e1'' (v*s (v*s e1 (scalar e1 a3)) (/ (scalar e1 e1))))
  63. (def e2' (v*s (v*s e2 (scalar e2 a3)) e2Norm))
  64. (def e3 (v- (v- a3 e2') e1''))
  65. (def e3Norm (/(scalar e3 e3)))
  66. (println "e3 = sqrt("e3Norm ")* " e3 )
  67. (def xL (v+ (v+ (v*s e1 (* (scalar xG e1) e1Norm)) (v*s e2  (* (scalar xG e2) e2Norm))) (v*s e3 (* (scalar xG e3) e3Norm))))
  68. (println "xL = " xL)
  69. (println "xM =" (v- xG xL))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement