Advertisement
Guest User

fiskbana

a guest
Sep 23rd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.52 KB | None | 0 0
  1. %kod för plan
  2. u1 = [0 4 -1]
  3. v1 = [3 -2 1]
  4. Q1 = [1,2,3]
  5.  
  6. u2 = [-5 1 3]
  7. v2 = [-1 0 1]
  8. Q2 = [-10,-1,1]
  9.  
  10. u3 = [0 1 0]
  11. v3 = [-1 1 1]
  12. Q3 = [2,10,0]
  13.  
  14. %matriser för vektorer och punkter
  15. uM = [0 4 -1;-5 1 3;0 1 0]
  16. vM = [3 -2 1;-1 0 1;-1 1 1]
  17. QM = [1 2 3;-10 -1 1;2 10 0]
  18.  
  19.  
  20. %plot för fiskens bana
  21. plot3(X,Y,Z)
  22. hold on
  23. plot3(X(1), Y(1), Z(1),'p')
  24. hold on
  25. plot3(X(end), Y(end), Z(end),'o')
  26. hold on
  27.  
  28. %kod för plan 3s normalvektor
  29. n3 = [u3(2)*v3(3)-v3(2)*u3(3) -u3(1)*v3(3)+v3(1)*u3(3) u3(1)*v3(2)-v3(1)*u3(2)]
  30.  
  31. %kod för beräkningen av normalvektorn n3s längd
  32. n3length = sqrt(n3(1)^2+n3(2)^2+n3(3)^2)
  33.  
  34.  
  35.  
  36. notcaught = 1
  37. count = 0;
  38. failed = 0;
  39. while(notcaught)
  40.     count = count + 1;
  41.     for i = 1:3
  42.         u = uM(i,:)
  43.         v = vM(i,:)
  44.         Q = QM(i,:)
  45.    
  46.         n = [u(2)*v(3)-v(2)*u(3) -u(1)*v(3)+v(1)*u(3) u(1)*v(2)-v(1)*u(2)]
  47.         nlength = sqrt(n(1)^2+n(2)^2+n(3)^2)
  48.                
  49.         P = [X(count), Y(count), Z(count)]
  50.         QP = [P(1)-Q(1) P(2)-Q(2) P(3)-Q(3)]
  51.         %projecerar QP på planets normalvektor
  52.         projQPn = (n(1)*QP(1)+n(2)*QP(2)+n(3)*QP(3))/(nlength^2)*n
  53.         %kod för avståndet mellan fisken & planet
  54.         distancelength = sqrt(projQPn(1)^2+projQPn(2)^2+projQPn(3)^2)
  55.            
  56.         if distancelength <= 0.5
  57.             notcaught = 0;
  58.             timecaught = T(count);
  59.         end
  60.     end
  61.     if count == length(T)
  62.         notcaught = 0;
  63.         failed = 1;
  64.     end
  65. end
  66.  
  67. if failed == 1
  68.     disp('fisken fångades ej av näten')
  69. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement