Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function zadanie_1 = zadanie_1(vector_1,vector_2)
- y=0;
- for i=1:length(vector_1)
- y=y+vector_1(i)*vector_2(i);
- end
- disp('Scalar: ')
- disp(y)
- end
- function [y] = zadanie_2(vector_1,vector_2)
- X = [0,-vector_1(3),vector_1(2);
- vector_1(3),0,-vector_1(1);
- -vector_1(2),vector_1(1),0];
- Y = [vector_2(1);vector_2(2);vector_2(3)];
- y = X*Y;
- disp('Vector: ')
- disp(y)
- end
- function draw_plots = draw_plots(v1,v2,v3)
- plot3([0;v1(1)],[0;v1(2)],[0;v1(3)],'r')
- hold on;
- axis equal;
- plot3([0;v2(1)],[0;v2(2)],[0;v2(3)],'b')
- plot3([0;v3(1)],[0;v3(2)],[0;v3(3)],'g')
- hold off;
- end
- function [] = lines(A1,B1,C1,A2,B2,C2,x0,x1,xp,yp)
- y0 = (-A1*x0 - C1)/B1;
- y1 = (-A1*x1 - C1)/B1;
- y2 = (-A2*x0 - C2)/B2;
- y3 = (-A2*x1 - C2)/B2;
- plot([xp;yp],[y0,y1],'r')
- hold on;
- axis equal;
- plot([xp;yp],[y2,y3],'b')
- hold off;
- d_one = (A1*xp+B1*yp+C1)/(sqrt(A1*A1+B1*B1));
- d_two = (A2*xp+B2*yp+C2)/(sqrt(A2*A2+B2*B2));
- "Distance from red to point:"
- disp(d_one);
- "Distance from blue to point:"
- disp(d_two);
- perpendicular = A1*B1 + A2*B2;
- parallel = (A1*B2)-(A2*B1);
- cover = (A1*B2)-(A2*B1);
- cover_second = (A1*C2)-(A2*C1);
- cross = (A1*B2)-(A2*B1);
- if(parallel == 0)
- d_lines = (abs(C2-C1))/(sqrt(A1*A1+B1*B1));
- "Functions are parallel, distance:"
- disp(d_lines)
- end;
- if(perpendicular == 0)
- "Functions are perpendicular"
- end;
- if(cover == cover_second && cover == 0)
- "Functions are covered"
- end;
- if(cross ~= 0)
- "Functions are crossed"
- end;
- x=[1,2,3];
- y=[-6,5,-4];
- zadanie_1(x,y);
- disp('Dot check: ')
- dot(x,y)
- disp('----------------')
- vector = zadanie_2(x,y);
- disp('Cross check: ')
- cross(x,y)
- draw_plots(x,y,vector);
- lines(1,2,3,1,3,4,4,3,1,10);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement