Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 4.00 KB | None | 0 0
  1. Funktioner och vektorer:
  2.  
  3. function [ya,yb1,yb2,yc1,yc2] = main_function(scalar_x,vector_x,matrix_x, square_matrix_x,xx)
  4.   ya=function_a(scalar_x);
  5.   yb1=function_b1(vector_x);
  6.   yb2=function_b2(vector_x);
  7.   yc1=function_c1(matrix_x);
  8.   yc2=function_c2(square_matrix_x);
  9. end
  10.  
  11. function y=function_a(x)
  12. %%% Skriv här %%%
  13. y = x^2
  14. %%%%%%%%%%%
  15. end
  16.  
  17. function y=function_b1(x)
  18. %%% Skriv här %%%
  19. y = x.*x
  20. %%%%%%%%%%%
  21. end
  22.  
  23. function y=function_b2(x)
  24. %%% Skriv här %%%
  25. y = dot(x,x)
  26. %%%%%%%%%%%
  27. end
  28.  
  29. function y=function_c1(x)
  30. %%% Skriv här %%%
  31. y = x.^2
  32. %%%%%%%%%%%
  33. end
  34.  
  35. function y=function_c2(x)
  36. %%% Skriv här %%%
  37. y = x*x
  38. %%%%%%%%%%%
  39. end
  40.  
  41. Plotta grafer och asymptoter:
  42.  
  43. dx=0.1
  44. % Skapa vektorn x, som går från -20 till 20, i steg om dx
  45. %%% skriv nedan %%%
  46. x = [-20:dx:20]
  47. %%%%%%
  48.  
  49. % Skapa vektorn y enligt funktionen f i tentauppgiften
  50. %%% skriv nedan %%
  51. num = (x-2)
  52. y = 1 + x + 4./num.^2
  53. %%%%%%
  54.  
  55.  
  56. % Använd x och y för att plotta funktionen f(x) i intervallet (-20,20)
  57. plot(x,y)
  58. % Använd axis-kommandot för att avgränsa plotten till (-20,20) för x och (-10,20) för y
  59. axis([-20 20 -10 20])
  60.  
  61. % Använd x och en ny variabel, ya1, för att plotta den sneda asymptoten
  62. % Skapa ya1
  63. %%% skriv nedan %%%
  64. ya1= 1 + x
  65. %%%%%%
  66.  
  67. % Plotta asymptoten
  68. hold on
  69. plot(x,ya1)
  70.  
  71. % Skapa två nya variabler xa2 och ya2 för att plotta den lodräta asymptoten (notera att vi inte kan använda den gamla x vektorn för att plotta linjen "x=2")
  72. %%% skriv nedan %%%
  73. xa2 = [2,2];
  74. ya2 = [-20 20];
  75. %%%%%%
  76.  
  77. plot(xa2,ya2)
  78.  
  79. Derivera numeriskt:
  80.  
  81. function [a,b] = main_function()
  82.  
  83.  
  84. % En trigonometrisk funktion f
  85. function [ y ] = f( x )
  86.   y=1+sin(x)+0.5*cos(4*x);
  87. end
  88.  
  89. % derivatan till funktionen f
  90. function [ y ] = fprim( x )
  91.   y=cos(x)-2*sin(4*x);
  92. end
  93.  
  94. x=-10:0.1:10;
  95.  
  96. % Låt y vara f(x) genom att anropa funktionen ovan
  97. y=f(x);
  98.  
  99. % Låt yp vara f'(x) genom att anropa den andra funktionen ovan
  100. yp=fprim(x);
  101.  
  102. %Sätt ett delta x för den numeriska derivatan
  103. dx=0.001
  104.  
  105. % Beräkna den numeriska derivatan till f genom upprepade anrop av f (inte fprim). Spara resultatet i vektorn ypApprox
  106. %%% skriv nedan %%%
  107. ypApprox = (f(x+dx)-f(x))./dx
  108.  
  109. %%%%%%
  110.  
  111.  
  112. % Plotta yp och ypApprox och se hur väl approximationen överensstämmer
  113.  
  114. plot(x,yp)
  115. hold on
  116. plot(x,ypApprox,'x')
  117. axis([-10 10 -5 5])
  118.  
  119. a=yp;
  120. b=ypApprox;
  121. end
  122.  
  123. Plotta många lösningar i samma graf:
  124.  
  125. function [res_1,res_2] = main_function()
  126.  
  127. % skapa en local function som beräknar lösningen q(t) (given i svaret till uppgift 6) som en funktion av t,A,B
  128. %%% skriv nedan
  129. function y = q(t, A,B)
  130. y = exp(-t).*((A * cos(t))+(B*sin(t)))+cos(t)+2*sin(t)
  131. end
  132. %%%%%%
  133. t=0:0.1:10;
  134. % vi skapar en tidsvektor mellan 0 och 10
  135. % plotta lösningarna för alla kombinationer av A och B ( A = -4, -3, -2, -1, 0, 1, 2, 3, 4 och B = -4, -3, -2, -1, 0, 1, 2, 3, 4)
  136. res_2 = 0;
  137. for A = -4:4
  138. for B = -4:4
  139. laddning = q(t,A,B)
  140. plot(t,laddning)
  141. hold on
  142. res_2 = res_2 + laddning;
  143. axis([0 10 -5 10])
  144. end
  145. end
  146. % beräkna dessutom summan av alla dessa lösningar och returnera i variabeln res_2
  147. % beräkna den speciella lösningen för A=0 och B=1 och returnera i variabeln res_1
  148. res_1 = q(t,0,1)
  149. % Varför ser plotten ut som den gör? Stämmer påståendet i lösningen till 6B?
  150. %%% skriv nedan %%%
  151. %SVAR: for loopen gör massa olika grafer med alla olika värden på A och B men när t börjar bli större(gå mot oändligheten)
  152. %så går alla grafer ihop
  153. %%%%%%
  154. end
  155.  
  156. Taylorpolynom:
  157.  
  158. % Använd följande tidssteg
  159. x=-10:0.1:10;
  160.  
  161. % Taylorpolynomet skall approximera Sin(x), så den plottar vi
  162. plot(x,sin(x))
  163. axis([-10 10 -2 2])
  164. hold on
  165.  
  166. % Beräkna Taylorpolynomet och spara det i vektorn Tsum (som vi först sätter till en 0-vektor)
  167. Tsum=zeros(size(x));
  168.  
  169. %%% skriv nedan %%%
  170. Tsum = x - (x.^3)/factorial(3) + (x.^5)/factorial(5) - (x.^7)/factorial(7) + (x.^9)/factorial(9)  - (x.^11)/factorial(11) + (x.^13)/factorial(13)
  171.  
  172. %%%%%%
  173.  
  174. %Plotta Tsum och se att det stämmer väl nära 0 men sedan avviker strax utanför x=+/-5
  175. plot(x,Tsum, 'X')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement