Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 2.61 KB | None | 0 0
  1. /* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/
  2. /* [ Created with wxMaxima version 0.8.6 ] */
  3.  
  4. /* [wxMaxima: input   start ] */
  5. numer:true;
  6. /* [wxMaxima: input   end   ] */
  7.  
  8. /* [wxMaxima: input   start ] */
  9. t0 : 0;
  10. Tx: 3;
  11. count: 256;
  12. h : (Tx-t0)/count;
  13. hf: (Tx-t0)/(2*count);
  14. fs(x):=((sin(x))^2+1)*log(x);
  15. f(x,t):=fs(x);
  16. fx(t,x):=f(x,t);
  17. x0: 2;
  18. xn: 9;
  19. /* [wxMaxima: input   end   ] */
  20.  
  21. /* [wxMaxima: input   start ] */
  22. "Метод Эйлера";
  23. /* [wxMaxima: input   end   ] */
  24.  
  25. /* [wxMaxima: input   start ] */
  26. xa[t0]: x0;
  27. xaf[t0]: x0;
  28. xa[n]:=xa[n-1]+h*f(xa[n-1],h*n);
  29. xaf[n]:=xaf[n-1]+hf*f(xaf[n-1],hf*n);
  30. /* [wxMaxima: input   end   ] */
  31.  
  32. /* [wxMaxima: input   start ] */
  33. wxplot2d([['discrete,
  34.     makelist(i*h,i,0,count),
  35.     makelist(xa[i],i,0,count)]],
  36. [x,t0,Tx], [y,x0,xn]);
  37. /* [wxMaxima: input   end   ] */
  38.  
  39. /* [wxMaxima: input   start ] */
  40. "Оценка погрешности";
  41. p:1;
  42. eps : (xaf[count*2]-xa[count])*(2^p)/(2^p - 1);
  43. /* [wxMaxima: input   end   ] */
  44.  
  45. /* [wxMaxima: input   start ] */
  46. "Метод второго порядка точности";
  47. /* [wxMaxima: input   end   ] */
  48.  
  49. /* [wxMaxima: input   start ] */
  50. xb[t0]:x0;
  51. xbf[t0]:x0;
  52. xb[n]:=xb[n-1]+h*(fs(xb[n-1])+fs(xb[n-1]+h*fs(xb[n-1])))/2;
  53. xbf[n]:=xbf[n-1]+hf*(fs(xbf[n-1])+fs(xbf[n-1]+hf*fs(xb[n-1])))/2;
  54. /* [wxMaxima: input   end   ] */
  55.  
  56. /* [wxMaxima: input   start ] */
  57. wxplot2d([['discrete,
  58.     makelist(i*h,i,0,count),
  59.     makelist(xb[i],i,0,count)]],
  60. [x,t0,Tx], [y,x0,xn]);
  61. /* [wxMaxima: input   end   ] */
  62.  
  63. /* [wxMaxima: input   start ] */
  64. "Оценка погрешности";
  65. p:2;
  66. eps : (xbf[count*2]-xb[count])*(2^p)/(2^p - 1);
  67. /* [wxMaxima: input   end   ] */
  68.  
  69. /* [wxMaxima: input   start ] */
  70. "Метод Рунге-Кутты 4 порядка";
  71. /* [wxMaxima: input   end   ] */
  72.  
  73. /* [wxMaxima: input   start ] */
  74. load(diffeq);
  75. /* [wxMaxima: input   end   ] */
  76.  
  77. /* [wxMaxima: input   start ] */
  78. xc:runge1(fx,t0,Tx,h,x0);
  79. xcf:runge1(fx,t0,Tx,hf,x0);
  80. /* [wxMaxima: input   end   ] */
  81.  
  82. /* [wxMaxima: input   start ] */
  83. wxplot2d([
  84.     ['discrete,
  85.         makelist(i*h,i,0,count),
  86.         makelist(xa[i],i,0,count)],
  87.     ['discrete,
  88.         makelist(i*h,i,0,count),
  89.         makelist(xb[i],i,0,count)],
  90.     ['discrete,
  91.         xc[1],
  92.         xc[2]]],
  93. [x,t0,Tx], [y,x0,xn]);
  94. /* [wxMaxima: input   end   ] */
  95.  
  96. /* [wxMaxima: input   start ] */
  97. "Оценка погрешности";
  98. p:4;
  99. eps : (xcf[2][count*2]-xc[2][count])*(2^p)/(2^p - 1);
  100. /* [wxMaxima: input   end   ] */
  101.  
  102. /* Maxima can't load/batch files which end with a comment! */
  103. "Created with wxMaxima"$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement