Advertisement
Guest User

Untitled

a guest
Apr 25th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.38 KB | None | 0 0
  1.  
  2. clc
  3. clear all
  4. %ZAD1
  5. f1=@(x)(sin(x).*cos(x));
  6. f2=@(x)(exp(x));
  7. a1=-pi;
  8. b1=3*pi;
  9. a2=0;
  10. b2=4;
  11. N=14;
  12.  
  13. xwezly1=linspace(a1,b1,N+1);
  14. ywezly1=f1(xwezly1);
  15.  
  16. xwezly2=linspace(a2,b2,N+1);
  17. ywezly2=f2(xwezly2);
  18.  
  19. xplot1=linspace(a1,b1,301);
  20. yplot1=f1(xplot1);
  21. xplot2=linspace(a2,b2,301);
  22. yplot2=f2(xplot2);
  23.  
  24. %interpolacja równoodległa 1
  25. wsp1=polyfit(xwezly1,ywezly1,N);
  26. inter1=polyval(wsp1,xplot1);
  27. blad1=norm(inter1-yplot1,inf);
  28.  
  29. %interpolacja równoodległa 2
  30. wsp2=polyfit(xwezly2,ywezly2,N);
  31. inter2=polyval(wsp2,xplot2);
  32. blad2=norm(inter2-yplot2,inf);
  33.  
  34. %interpolacja sklejne
  35. ysplajn1=spline(xwezly1,ywezly1,xplot1);
  36. ysplajn2=spline(xwezly2,ywezly2,xplot2);
  37. blads1=norm(ysplajn1-yplot1,inf);
  38. blads2=norm(ysplajn2-yplot2,inf);
  39.  
  40. %interpolacja Czybyszew
  41. xwezlycz1=zeros(1,N+1);
  42. for i=1:N+1
  43. xwezlycz1(i)=0.5*(a1-b1)*cos(((2*i-1)*pi)/(2*N+2))+0.5*(a1+b1);
  44. end
  45. xwezlycz2=zeros(1,N+1);
  46. for i=1:N+1
  47. xwezlycz2(i)=0.5*(a2-b2)*cos(((2*i-1)*pi)/(2*N+2))+0.5*(a2+b2);
  48. end
  49. ywezlycz1=f1(xwezlycz1);
  50. ywezlycz2=f2(xwezlycz2);
  51.  
  52. wspcz1=polyfit(xwezlycz1,ywezlycz1,N);
  53. intercz1=polyval(wspcz1,xplot1);
  54. bladcz1=norm(intercz1-yplot1,inf);
  55.  
  56. wspcz2=polyfit(xwezlycz2,ywezlycz2,N);
  57. intercz2=polyval(wspcz2,xplot2);
  58. bladcz2=norm(intercz2-yplot2,inf);
  59. figure
  60. %wykresiki 1
  61. subplot(3,1,1)
  62. plot(xplot1,yplot1,'-r')
  63. hold on;
  64. plot(xwezly1,ywezly1,'ok')
  65. hold on
  66. plot(xplot1,inter1,'--b')
  67.  
  68. subplot(3,1,2)
  69. plot(xplot1,yplot1,'-r')
  70. hold on;
  71. plot(xwezly1,ywezly1,'ok')
  72. hold on
  73. plot(xplot1,ysplajn1,'--b')
  74.  
  75. subplot(3,1,3)
  76. plot(xplot1,yplot1,'-r')
  77. hold on;
  78. plot(xwezlycz1,ywezlycz1,'ok')
  79. hold on
  80. plot(xplot1,intercz1,'--b')
  81. figure
  82. %wykresiki 2
  83. subplot(3,1,1)
  84. plot(xplot2,yplot2,'-r')
  85. hold on;
  86. plot(xwezly2,ywezly2,'ok')
  87. hold on
  88. plot(xplot2,inter2,'--b')
  89.  
  90. subplot(3,1,2)
  91. plot(xplot2,yplot2,'-r')
  92. hold on;
  93. plot(xwezly2,ywezly2,'ok')
  94. hold on
  95. plot(xplot2,ysplajn2,'--b')
  96.  
  97. subplot(3,1,3)
  98. plot(xplot2,yplot2,'-r')
  99. hold on;
  100. plot(xwezlycz2,ywezlycz2,'ok')
  101. hold on
  102. plot(xplot2,intercz2,'--b')
  103.  
  104.  
  105. clc
  106. clear  all
  107. %ZAD2
  108. f1=@(x)(sin(x).*cos(x));
  109. f2=@(x)(exp(x));
  110. a1=-pi;
  111. b1=3*pi;
  112. a2=0;
  113. b2=4;
  114. NN=14;
  115. for N=3:NN
  116. xwezly1=linspace(a1,b1,N+1);
  117. ywezly1=f1(xwezly1);
  118.  
  119. xwezly2=linspace(a2,b2,N+1);
  120. ywezly2=f2(xwezly2);
  121.  
  122. xplot1=linspace(a1,b1,301);
  123. yplot1=f1(xplot1);
  124. xplot2=linspace(a2,b2,301);
  125. yplot2=f2(xplot2);
  126.  
  127. %interpolacja równoodległa 1
  128. wsp1=polyfit(xwezly1,ywezly1,N);
  129. inter1=polyval(wsp1,xplot1);
  130. blad1=norm(inter1-yplot1,inf);
  131.  
  132. %interpolacja równoodległa 2
  133. wsp2=polyfit(xwezly2,ywezly2,N);
  134. inter2=polyval(wsp2,xplot2);
  135. blad2=norm(inter2-yplot2,inf);
  136. figure(1)
  137. hold on
  138. plot(xplot1, inter1)
  139. grid on
  140. figure(2)
  141. hold on
  142. plot(xplot2, inter2)
  143. grid on
  144. end
  145. %ZAD3
  146.  
  147. clc
  148. clear  all
  149.  
  150. f1=@(x)(sin(x).*cos(x));
  151. f2=@(x)(exp(x));
  152. a1=-pi;
  153. b1=3*pi;
  154. a2=0;
  155. b2=4;
  156. NN=14;
  157. for N=3:NN
  158. xwezly1=linspace(a1,b1,N+1);
  159. ywezly1=f1(xwezly1);
  160.  
  161. xwezly2=linspace(a2,b2,N+1);
  162. ywezly2=f2(xwezly2);
  163.  
  164. xplot1=linspace(a1,b1,301);
  165. yplot1=f1(xplot1);
  166. xplot2=linspace(a2,b2,301);
  167. yplot2=f2(xplot2);
  168.  
  169. %interpolacja równoodległa 1
  170. wsp1=polyfit(xwezly1,ywezly1,N);
  171. inter1=polyval(wsp1,xplot1);
  172. blad1=norm(inter1-yplot1,inf);
  173.  
  174. %interpolacja równoodległa 2
  175. wsp2=polyfit(xwezly2,ywezly2,N);
  176. inter2=polyval(wsp2,xplot2);
  177. blad2=norm(inter2-yplot2,inf);
  178. figure(1)
  179. hold on
  180. plot(xplot1, inter1)
  181. grid on
  182. figure(2)
  183. hold on
  184. plot(xplot2, inter2)
  185. grid on
  186. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement