Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.73 KB | None | 0 0
  1. function zadanie_1 = zadanie_1(vector_1,vector_2)
  2. y=0;  
  3.     for i=1:length(vector_1)
  4.         y=y+vector_1(i)*vector_2(i);
  5.     end
  6.     disp('Scalar: ')
  7.     disp(y)
  8. end
  9.  
  10.  
  11. function [y] = zadanie_2(vector_1,vector_2)
  12. X = [0,-vector_1(3),vector_1(2);
  13.      vector_1(3),0,-vector_1(1);
  14.     -vector_1(2),vector_1(1),0];
  15. Y = [vector_2(1);vector_2(2);vector_2(3)];
  16.  
  17. y = X*Y;
  18. disp('Vector: ')
  19. disp(y)
  20. end
  21.  
  22. function draw_plots = draw_plots(v1,v2,v3)
  23. plot3([0;v1(1)],[0;v1(2)],[0;v1(3)],'r')
  24. hold on;
  25. axis equal;
  26. plot3([0;v2(1)],[0;v2(2)],[0;v2(3)],'b')
  27. plot3([0;v3(1)],[0;v3(2)],[0;v3(3)],'g')
  28. hold off;
  29. end
  30.  
  31.  
  32. function [] = lines(A1,B1,C1,A2,B2,C2,x0,x1,xp,yp)
  33. y0 = (-A1*x0 - C1)/B1;
  34. y1 = (-A1*x1 - C1)/B1;
  35. y2 = (-A2*x0 - C2)/B2;
  36. y3 = (-A2*x1 - C2)/B2;
  37.  
  38. plot([xp;yp],[y0,y1],'r')
  39. hold on;
  40. axis equal;
  41. plot([xp;yp],[y2,y3],'b')
  42. hold off;
  43.  
  44. d_one = (A1*xp+B1*yp+C1)/(sqrt(A1*A1+B1*B1));
  45. d_two = (A2*xp+B2*yp+C2)/(sqrt(A2*A2+B2*B2));
  46.  
  47. "Distance from red to point:"
  48. disp(d_one);
  49. "Distance from blue to point:"
  50. disp(d_two);
  51.  
  52. perpendicular = A1*B1 + A2*B2;
  53. parallel = (A1*B2)-(A2*B1);
  54. cover = (A1*B2)-(A2*B1);
  55. cover_second = (A1*C2)-(A2*C1);
  56. cross = (A1*B2)-(A2*B1);
  57.  
  58. if(parallel == 0)
  59.     d_lines = (abs(C2-C1))/(sqrt(A1*A1+B1*B1));
  60.     "Functions are parallel, distance:"
  61.     disp(d_lines)
  62. end;
  63.  
  64. if(perpendicular == 0)
  65.     "Functions are perpendicular"
  66. end;
  67.  
  68. if(cover == cover_second && cover == 0)
  69.     "Functions are covered"
  70. end;
  71.  
  72. if(cross ~= 0)
  73.     "Functions are crossed"
  74. end;
  75.  
  76.  
  77. x=[1,2,3];
  78. y=[-6,5,-4];
  79.  
  80. zadanie_1(x,y);
  81. disp('Dot check: ')
  82. dot(x,y)
  83.  
  84. disp('----------------')
  85.  
  86. vector = zadanie_2(x,y);
  87. disp('Cross check: ')
  88. cross(x,y)
  89.  
  90. draw_plots(x,y,vector);
  91.  
  92. lines(1,2,3,1,3,4,4,3,1,10);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement