vakho

MatLab - საგამოცდო საკითხები

Jan 25th, 2014
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 6.92 KB | None | 0 0
  1. % N1
  2. % დაწერეთ m ფუნქცია, რომელიც დაითვლის სტრიქონში ხმოვნების და ციფრების ჯამს.
  3.  
  4. function vakho ( str )
  5.     xmovnebi = 0;
  6.     cifrebi = 0;
  7.     for i=1:1:numel(str)
  8.        switch (str(i))
  9.            case {'a', 'e', 'i', 'o', 'u'}
  10.                xmovnebi = xmovnebi + 1;
  11.            case {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}
  12.                cifrebi = cifrebi + 1;
  13.        end
  14.     end
  15.     fprintf('Cifrebia\t%d\n', cifrebi);
  16.     fprintf('Xmovnebia\t%d\n', xmovnebi);
  17. end
  18.  
  19. % N2
  20. % შეადგინეთ A(4, 3) მატრიცი შემთხვევითი რიცხვებისაგან [-20 : 80] შუალედიდან.
  21. % იპოვეთ A-ში მე-2 და მე-3 სტრიქონის მინიმალური ელემენტი.
  22. % შეუცვალეთ ადგილები I და II სვეტს.
  23.  
  24. a = -20;
  25. b = 80;
  26. A = rand(4,3)*(b-a) + a;
  27. disp(A);
  28.  
  29. minMeore = min( A(2,:) );
  30. minMesame = min( A(3, :) );
  31. minOrivesi = min(minMeore, minMesame);
  32. fprintf('\nme-3 da me-2 striqonis min =%f\n\n', minOrivesi);
  33.  
  34. mesameSveti = A(:, 3);
  35. A(:, 3) = A(:, 1);
  36. A(: , 1) = mesameSveti;
  37. disp(A);
  38.  
  39. % N3
  40. %   მოცემულია:
  41. %       თუ (-3 < x < 3) -> G(x) = x*sin(x^2),
  42. %       თუ (x <= -3)    -> G(x) = x*tan(x),
  43. %       თუ (x >= 3)     -> G(x) = (x+1) / (2*x+3).
  44. %
  45. %   იპოვეთ ამ ფუნქციის მნიშვნელობები [-8 : 8] ინტერვალზე 0.2 ბიჯით.
  46. %   ჩაწერეთ ეს მნიშვნელობები 'text.txt' ფაილში:
  47. %       A) ყოველ ბიჯზე ( '-append' -ის გამოყენებით ),
  48. %       B) ერთბაშად (ბოლოს).
  49.  
  50. % A)
  51. for x=-8:0.2:8
  52.     if (x > -3)
  53.         if (x < 3)
  54.             % -3 < x < 3
  55.             y = x*sin(x^2);
  56.         else
  57.             % x >= 3
  58.             y = (x+1)/(2*x+3);
  59.         end
  60.     else
  61.         % x <= -3
  62.         y = x*tan(x);
  63.     end
  64.     fprintf('x =\t%f\t\ty =\t%f\n', x, y);
  65.     dlmwrite('text.txt', y, '-append');
  66. end
  67.  
  68. % B)
  69. Y = [];
  70. for x=-8:0.2:8
  71.     if (x > -3)
  72.         if (x < 3)
  73.             % -3 < x < 3
  74.             y = x*sin(x^2);
  75.         else
  76.             % x >= 3
  77.             y = (x+1)/(2*x+3);
  78.         end
  79.     else
  80.         % x <= -3
  81.         y = x*tan(x);
  82.     end
  83.     fprintf('x =\t%f\t\ty =\t%f\n', x, y);
  84.     Y = [Y y];
  85.    
  86. end
  87. dlmwrite('text2.txt', Y, ',');
  88.  
  89. % N4
  90. % მოცემულია ნატურალური რიცხვი n.
  91. % იპოვეთ ამ რიცხვის ციფრების ნამრავლი (2 ხერხით).
  92.  
  93. n = input('Input Number:');
  94. namravli = 1;
  95.  
  96. % A)
  97. str = num2str(n);
  98. for i=1:1:numel(str)
  99.    namravli = namravli * str2num(str(i));
  100. end
  101. fprintf('Namravlia\t%d\n', namravli);
  102.  
  103. % B)
  104. Nums = [];
  105. while (n ~= 0)
  106.    Nums = [Nums mod(n, 10)];
  107.    n = fix(n/10);
  108. end
  109. Nums = Nums(numel(Nums):-1:1);
  110. for i=1:1:numel(Nums)
  111.    namravli = namravli * Nums(i);
  112. end
  113. disp(Nums);
  114. fprintf('Namravlia\t%d\n', namravli);
  115.  
  116. % N5
  117. % გრაფიკების აგება
  118.  
  119. % A)
  120. x = 0:0.02:100;
  121. y = x;
  122. plot(x, y);
  123. title('funqciis grafiki', 'fontname', 'acadnusx', 'fontsize', 32);
  124. grid;
  125. hold on
  126. y = 2 * x;
  127. plot(x, y);
  128. y = (1/2) * x;
  129. plot(x, y);
  130.  
  131. % B)
  132. subplot(3,3,1:3); fplot('[-5*x+3, 4/x]', [-10 10 -10 10]);
  133.  
  134. subplot(3,3,4); fplot('3*x^2', [-10 10 -10 10]);
  135. subplot(3,3,5:6); fplot('-x^3', [-30 10 -15 20]);
  136.  
  137. subplot(3,3,7); fplot('log2(x)', [-10 10 -10 10]);
  138. subplot(3,3,8); fplot('log(x)', [-10 10 -10 10]);
  139. subplot(3,3,9); fplot('[sin(x), tan(x)]', [-10 10 -1 1]);
  140.  
  141. % C)
  142. x = -pi:pi/10:pi;
  143. y = tan(sin(x));
  144. plot(x, y, '--bo', 'linewidth', 4, 'markerfacecolor', 'g', ...
  145.     'markeredgecolor', 'r', 'markersize', 10);
  146. xlabel('x gerdzi!');
  147. ylabel('y gerdzi!');
  148. grid;
  149.  
  150. % D)
  151. t = -2*pi:0.01:2*pi;
  152. r = 2*sin(5*t);
  153. polar(t, r);
  154.  
  155. % E)
  156. [X, Y] = meshgrid(-2:0.2:2, -2:0.2:2);
  157. Z = X .* exp(-X.^2 - Y.^2);
  158. surf(X, Y, Z);
  159.  
  160. % N6
  161. % განსაზღვრეთ შეტანილი (x, y) წერტილი თუ ეკუთვნის გამუქებულ არეს (მაგალითი ლექციებიდან: გვ.40).
  162.  
  163. x = input('x = ');
  164. y = input('y = ');
  165. fprintf('A(%d, %d)\n', x, y);
  166.  
  167. Radius = 2;
  168. if ((x >= -2 && x <= 2) && (y >= -2 && y <= 2))
  169.     if (x >= 0)
  170.         % ვართ I ან IV- მეოთხედში!
  171.         if ((x^2 + y^2) >= Radius^2)
  172.             disp('Ekutvnis!');
  173.         else
  174.             disp('Ar ekutvnis!');
  175.         end
  176.     else
  177.         disp('Ar ekutvnis!');
  178.     end
  179. else
  180.     disp('Ar ekutvnis!');
  181. end
  182.  
  183. % N7
  184. % დახაზეთ კვადრატი ან წრეწირი
  185.  
  186. % A) კვადრატი (line - ფუნქციის გამოყენებით)
  187. X = [-3 3 3 -3 -3]
  188. Y = [3 3 -3 -3 3]
  189. line(X, Y);
  190.  
  191. % B) წრეწირი
  192. t = -pi:0.1:pi;
  193. x = sin(t);
  194. y = cos(t);
  195. plot(x, y);
  196.  
  197. clc
  198. clear
  199.  
  200. % N8
  201. % კალკულუსის ფუნქციები
  202.  
  203. % A) მიმდევრობის ჯამი
  204. syms k;
  205. sum = symsum((2*k-1)/(2^k), 1, 10);
  206. disp(sum);
  207.  
  208. % B) პოლინომის გამოთვლა
  209. P = [1 3 4 -1];
  210. x = 5;
  211. value = polyval(P, x);
  212. disp(value);
  213.  
  214. % C)
  215. %    a) წრფივ განტოლებათა სისტემის ამოხსნა
  216.     A = [4 2 3; 2 8 -1; 9 1 8]; % koeficientebia Aii
  217.     B = [-2 8 0]; % koeficientebia Bi
  218.     X = A\B;
  219.    
  220. %   b) განტოლების ამოხსნა
  221.     syms x y
  222.     s = solve('sin(x+y)-exp(x)*y=0', 'x^2-y=2');
  223.  
  224. % D)
  225. A = [1 2 3];
  226. B = [5 7 6];
  227. dot(A, B);          % სკალარული ნამრავლი
  228. cross(A, B);        % ვექტორული ნამრავლი
  229. E = A';             % ტრანსპონირება ვექტორის ან მატრიცის
  230. det(A);             % A-მატრიცის დეტერმინანტი
  231. rank(A);            % A-მატრიცის რანგი
  232. AI = inv(sym(A));   % შებრუნებული მატრიცის პოვნა
  233.  
  234. % E) ფუნქციის ზღვარი
  235. syms x;
  236. limit((x^2-3*x+2)/(x^2-1), x, 1);
  237.  
  238. % F) ფუნქციის წარმოებული
  239. syms x;
  240. diff((x^2+3)^sqrt(x), 'x', 1);
  241. % შეიძლება პირდაპირ ერთი პარამეტრით:
  242. diff((x^2+3)^sqrt(x));
  243.  
  244. % G) ფუნქციის ინტეგრალი
  245. syms x t;
  246. int(4*x^2*t, x, -1, sin(t));
  247.  
  248. % რიცხვითი ინტეგება
  249. Q = quad(@(x)x.^2.*cos(2*x), 0, pi/4);
  250.  
  251. % ორმაგი ინტეგრალი
  252. Q = dblquad(@(x,y)(x.^2*cos(2*y)+y.^2*cos(2*x)), pi, 2*pi, 0, pi);
Advertisement
Add Comment
Please, Sign In to add comment