Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/
- /* [ Created with wxMaxima version 0.8.6 ] */
- /* [wxMaxima: input start ] */
- numer:true;
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- t0 : 0;
- Tx: 3;
- count: 256;
- h : (Tx-t0)/count;
- hf: (Tx-t0)/(2*count);
- fs(x):=((sin(x))^2+1)*log(x);
- f(x,t):=fs(x);
- fx(t,x):=f(x,t);
- x0: 2;
- xn: 9;
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- "Метод Эйлера";
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- xa[t0]: x0;
- xaf[t0]: x0;
- xa[n]:=xa[n-1]+h*f(xa[n-1],h*n);
- xaf[n]:=xaf[n-1]+hf*f(xaf[n-1],hf*n);
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- wxplot2d([['discrete,
- makelist(i*h,i,0,count),
- makelist(xa[i],i,0,count)]],
- [x,t0,Tx], [y,x0,xn]);
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- "Оценка погрешности";
- p:1;
- eps : (xaf[count*2]-xa[count])*(2^p)/(2^p - 1);
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- "Метод второго порядка точности";
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- xb[t0]:x0;
- xbf[t0]:x0;
- xb[n]:=xb[n-1]+h*(fs(xb[n-1])+fs(xb[n-1]+h*fs(xb[n-1])))/2;
- xbf[n]:=xbf[n-1]+hf*(fs(xbf[n-1])+fs(xbf[n-1]+hf*fs(xb[n-1])))/2;
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- wxplot2d([['discrete,
- makelist(i*h,i,0,count),
- makelist(xb[i],i,0,count)]],
- [x,t0,Tx], [y,x0,xn]);
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- "Оценка погрешности";
- p:2;
- eps : (xbf[count*2]-xb[count])*(2^p)/(2^p - 1);
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- "Метод Рунге-Кутты 4 порядка";
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- load(diffeq);
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- xc:runge1(fx,t0,Tx,h,x0);
- xcf:runge1(fx,t0,Tx,hf,x0);
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- wxplot2d([
- ['discrete,
- makelist(i*h,i,0,count),
- makelist(xa[i],i,0,count)],
- ['discrete,
- makelist(i*h,i,0,count),
- makelist(xb[i],i,0,count)],
- ['discrete,
- xc[1],
- xc[2]]],
- [x,t0,Tx], [y,x0,xn]);
- /* [wxMaxima: input end ] */
- /* [wxMaxima: input start ] */
- "Оценка погрешности";
- p:4;
- eps : (xcf[2][count*2]-xc[2][count])*(2^p)/(2^p - 1);
- /* [wxMaxima: input end ] */
- /* Maxima can't load/batch files which end with a comment! */
- "Created with wxMaxima"$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement