Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. clear;
  2. close all
  3. l = 45;
  4. T0 = 2;
  5. f0 = l/T0;
  6. t = 0:1/1000*T0:T0;
  7. f1 = (2/T0)^(1/2)*cos(2*pi*f0*t);
  8. f2 = (2/T0)^(1/2)*sin(2*pi*f0*t);
  9.  
  10. % доказательство пункт 2
  11. f11 = sqrt(sum(f1.*f1));
  12. f22 = sqrt(sum(f2.*f2));
  13. f1 = f1./f11;
  14. f2 = f2./f22;
  15. scal1 = (sum(f1.*f1));
  16. disp('j = k');
  17. disp(scal1);
  18. scal2 = (sum(f1.*f2));
  19. disp('j != k');
  20. disp(scal2);
  21. scal3 = (sum(f2.*f2));
  22. disp('k = j');
  23. disp(scal3);
  24.  
  25. %часть 2
  26. q = 4;
  27. i0 = [0, 0, 1, 1];
  28. i1 = [0, 1, 0, 1];
  29. Am = 1;
  30. s_x = zeros(0,q);
  31. s_y = zeros(0,q);
  32. for i = 1:q
  33. s_x(i) = Am*(1-(2*i0(i)/(sqrt(q)-1)));
  34. s_y(i) = Am*(1-(2*i1(i)/(sqrt(q)-1)));
  35. end
  36. figure(3);
  37. for i=1:q
  38. plot(s_x(i), s_y(i),'o','Color', 'k');
  39. hold on;
  40. end
  41. axis([-2 2,-2,2]);
  42. grid on;
  43.  
  44. %часть 3 - разбиение на области
  45. % h = voronoi(s_x,s_y);
  46. % set(h,'LineWidth',2);
  47. d = zeros(0,q);
  48. for i = 1:q
  49. j= i+1;
  50. if(i==2)
  51. j= 4;
  52. end
  53. if(i==3)
  54. j= 1;
  55. end
  56. if(i==4)
  57. j= 3;
  58. end
  59. d(i) = sqrt(sum(s_x(i)-s_y(j))^2);
  60. end
  61. d = d./2; %середины
  62. %обновленные координаты
  63.  
  64. x = zeros(0,q);
  65. y = zeros(0,q);
  66. for i = 1:q
  67. if(i==1)
  68. x(i) = s_x(i);
  69. y(i) = s_y(i) - d(i);
  70. end
  71. if(i==2)
  72. x(i) = s_x(i+1);
  73. y(i) = s_y(i)+d(i);
  74. end
  75. if(i==3)
  76. x(i) = s_x(i)+d(i);
  77. x(i+1) = s_x(i+1)+d(i+1);
  78. y(i) = s_y(i+1);
  79. y(i+1) = s_y(i-1);
  80. end
  81.  
  82. end
  83. %нужно разбить пополам полученные координаты для ебаного лайна
  84. x1 = zeros(0,q);
  85. x2 = d - 1;
  86. y1 = d - 1;
  87. y2 = zeros(0,q);
  88. x1(1) = 3; x1(4) = -3; %по иксу от -3 до 3
  89. y2(1) = -3; y2(4) = 3;
  90. for i = 2:3
  91. x1(i) = x(i-1);
  92. y2(i) = y(i-1);
  93. end
  94. line(x1,y1,'Color', 'k','LineWidth',3); %по горизонтали
  95. line(x2,y2,'Color', 'k','LineWidth',3); %по вертикали
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement