Скачиваний:
12
Добавлен:
01.05.2014
Размер:
6.84 Кб
Скачать
ђЂЃЋ’Ђ 5: ђ……Ќ€… ЋЃ›ЉЌЋ‚…ЌЌ›•
„€””…ђ…Ќ–€Ђ‹њЌ›• “ђЂ‚Ќ…Ќ€‰


Ѓг¤Ґ¬ аҐи вм § ¤ зг Љ®иЁ ­  Їа®¬Ґ¦гвЄҐ [a; b] ¤«п ¤ЁддҐаҐ­-
жЁ «м­®Ј® га ў­Ґ­Ёп 1-Ј® Ї®ап¤Є  ўЁ¤ :
y' = f(x,y); y(a)=y0
‚®©¤ЁвҐ ў । Єв®а (Ї edit) Ё ᮧ¤ ©вҐ д ©« f5.m, ®ЇЁблў ойЁ© Їа -
ўго з бвм ‚ иҐЈ® га ў­Ґ­Ёп. „ «ҐҐ, § ¤ ©вҐ Ја ­Ёжл Їа®¬Ґ¦гвЄ  Ё
­ з «м­®Ґ гб«®ўЁҐ (­ ЇаЁ¬Ґа: Ї a=0; b=2; y0=3.27 ). Ќ и  楫м -
­ ©вЁ ЇаЁЎ«Ё¦Ґ­­лҐ §­ зҐ­Ёп аҐиҐ­Ёп y(i), ®вўҐз ойЁҐ, ᮮ⢥вб-
⢥­­®, в®зЄ ¬ x(i).

—Ђ‘’њ I: Њ…’Ћ„ ђ“Ќѓ… - Љ“’’Ђ

1). ‘®§¤ ©вҐ д ©« runge1.m, ॠ«Ё§гойЁ© ®¤Ё­ и Ј ¬Ґв®¤  ђг­-
ЈҐ-Љгвв  4-Ј® Ї®ап¤Є  в®з­®бвЁ (ЇаҐ¤Ї®« Ј Ґвбп, зв® и Ј h ¬Ґ¦¤г
㧫 ¬Ё x(i) Є н⮬㠬®¬Ґ­вг 㦥 § ¤ ­):
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
іi=max(size(x)); % i - Є®«ЁзҐбвў® ᤥ« ­­ле а ­ҐҐ и Ј®ўі
іk1=h*f5(x(i),y(i)); % ‚бЇ®¬®Ј вҐ«м­лҐ і
іk2=h*f5(x(i)+h/2,y(i)+k1/2); % ЇҐаҐ¬Ґ­­лҐ і
іk3=h*f5(x(i)+h/2,y(i)+k2/2); % ¬Ґв®¤  і
іk4=h*f5(x(i)+h,y(i)+k3); % ђг­ЈҐ-Љгвв  і
іy(i+1)=y(i) + (k1+2*k2+2*k3+k4)/6; і
іx(i+1)=x(i)+h; і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
2). Њл ўлзЁб«Ё¬ y(i) ваЁ а § , 㬥­ми п Є ¦¤л© а § ў¤ў®Ґ ўҐ-
«ЁзЁ­г h, Ё ба ў­Ё¬ Ї®«г祭­лҐ १г«мв вл. ЌҐ®Ўе®¤Ё¬лҐ ¤«п нв®Ј®
Є®¬ ­¤л б®б।®в®зЁ¬ ў д ©«Ґ work51.m:
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
іformat long e і
іn=10, h=(b-a)/n % ђ §ЎЁў Ґ¬ Їа®¬Ґ¦гв®Є ­  n з б⥩ і
іx=a; y=y0; % ‡ ¤ Ґ¬ ­ з «м­го в®зЄг і
іfor k=1:n, runge1; end % Ќ и«Ё n б«Ґ¤гойЁе в®зҐЄ і
іx1=x; y1=y; % Ё б®еа ­Ё«Ё Ёе ў бва®Єax x1, y1і
іh=h/2 % Џ®ўв®а塞 ўбҐ ¤«п Ї®«®ўЁ­­®Ј® и Ј  і
іx=a; y=y0; і
іfor k=1:n*2, runge1; end і
іx2=x; y2=y; і
іh=h/2 % “¬Ґ­ми Ґ¬ и Ј ҐйҐ ў ¤ў  а §  і
іx=a; y=y0; і
іfor k=1:n*4, runge1; end і
іx4=x; y4=y; і
і % ‚лў®¤Ё¬ Ја дЁЄЁ аҐиҐ­Ё© ў ўҐае­оо Ї®«®ўЁ­г нЄа ­ : і
іclg; subplot(211) і
іplot(x1,y1, x2,y2,'--', x4,y4,'-.'), grid, title('y(x)') і
і % Ћбв ў«пҐ¬ ў бва®ЄҐ y2 «Ёим Є ¦¤го 2-о в®зЄг Ё ў бва®ЄҐі
і % y4 - Є ¦¤го 4-о, зв®Ўл Ї®«гзЁ«Ёбм бва®ЄЁ ®¤­®© ¤«Ё­л: і
іy2=y2(1:2:2*n+1); y4=y4(1:4:4*n+1); і
і % ‘®е࠭塞 १г«мв вл: і
іccc1='y for: h, h/2, h/4' % - Є®¬¬Ґ­в аЁ© Є res1 і
іres1=[y1; y2; y4]' і
іsave result51 a b y0 n ccc1 res1 і
і % ‚лў®¤Ё¬ Ја дЁЄЁ Ї®ЈаҐи­®б⥩ ў ­Ё¦­оо Ї®«®ўЁ­г нЄа ­ :і
іplot(x1,y2-y1,'--', x1,y4-y2), grid, title('errors') і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
3). ‚맮ўЁвҐ нв®в д ©« (Ї work51). Џ®бЄ®«мЄг ЁбЇ®«м§гҐвбп ¬Ґ-
⮤ 4-Ј® Ї®ап¤Є  в®з­®бвЁ, б«Ґ¤гҐв ®¦Ё¤ вм, зв® Ї®ЈаҐи­®бвЁ аҐиҐ-
­Ёп y1, ЇаЁЎ«Ё§ЁвҐ«м­® а ў­лҐ y2-y1, ®Є ¦гвбп ЇаЁ¬Ґа­® ў 2^4 = 16
а § Ў®«миҐ Ї®ЈаҐи­®б⥩ ¤«п y2 (в.Ґ. y4-y2) ў вҐе ¦Ґ в®зЄ е.
4). ‘®еа ­ЁвҐ Ја дЁЄЁ: Ї meta grafik51


—Ђ‘’њ II: Њ…’Ћ„ Ђ„ЂЊ‘Ђ € ЌЂ•Ћ†„…Ќ€… ђ……Ќ€џ
‘ ‡Ђ„ЂЌЌЋ‰ ’Ћ—ЌЋ‘’њћ

Ѓг¤Ґ¬ Ї®б⥯Ґ­­® 㢥«ЁзЁў вм в®з­®бвм аҐиҐ­Ёп, г¤ў Ёў п Є®-
«ЁзҐбвў® ®в१Є®ў, ­  Є®в®алҐ а §ЎЁў Ґвбп Ё­вҐаў « [a; b]; Ї®-
ЈаҐи­®бвм Ўг¤Ґ¬ Є®­ва®«Ёа®ў вм, ба ў­Ёў п ¤ў  б®бҐ¤­Ёе ЇаЁЎ«Ё¦Ґ-
­Ёп. ‚лзЁб«Ґ­Ёп Ўг¤Ґ¬ Їа®ў®¤Ёвм ¬Ґв®¤®¬ Ђ¤ ¬б  4-Ј® Ї®ап¤Є , в.Є.
®­ а Ў®в Ґв Ј®а §¤® Ўлбв॥, 祬 ¬Ґв®¤ ђг­ЈҐ-Љгвв . Џгбвм ў­ з «Ґ
®в१®Є [a; b] ¤Ґ«Ё«бп ­  n з б⥩,   Ї®б«Ґ ­ҐбЄ®«мЄЁе г¤ў®Ґ­Ё©
нв®в Є®нддЁжЁҐ­в бв « а ў­л¬ m. ЋЎ®§­ зЁ¬ зҐаҐ§ yold ЇаҐ¤л¤г饥
ЇаЁЎ«Ё¦Ґ­ЁҐ ¤«п аҐиҐ­Ёп; ynew - гв®з­Ґ­­®Ґ аҐиҐ­ЁҐ. Ља®¬Ґ в®Ј®,
ў бва®ЄҐ ff Ўг¤Ґ¬ б®еа ­пвм §­ зҐ­Ёп Їа ў®© з бвЁ f(x(i),y(i))
(нв® ­Ґ®Ўе®¤Ё¬® ¤«п в®Ј®, зв®Ўл ЇаЁ аҐ «Ё§ жЁЁ ¬Ґв®¤  Ђ¤ ¬б  ­Ґ
ЇаЁе®¤Ё«®бм Є ¦¤л© а § § ­®ў® ўлзЁб«пвм 㦥 ­ ©¤Ґ­­лҐ §­ зҐ­Ёп).
1). ‘®§¤ ©вҐ д ©« work52.m, ॠ«Ё§гойЁ© ®¤Ё­ и Ј  «Ј®аЁв¬ :
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
іm=m*2, h=(b-a)/m; % “¤ў Ёў Ґ¬ Є®«ЁзҐбвў® и Ј®ў і
іx=a; y=y0; ff(1)=f5(x(1),y(1)); і
і % ЏҐаўлҐ 3 и Ј  ¤Ґ« Ґ¬ Ї® ¬Ґв®¤г ђг­ЈҐ-Љгвв : і
іfor k=1:3 і
і runge1 і
і ff(k+1)=f5(x(k+1),y(k+1)); % ‘®е࠭塞 ¤«п ¬Ґв®¤  Ђ¤ ¬б  і
і end і
і % Ћбв «м­лҐ - Ї® ¬Ґв®¤г Ђ¤ ¬б : і
іfor k=4:m і
і y(k+1)=y(k) + h * (55*ff(k) - 59*ff(k-1) + 37*ff(k-2) ... і
і - 9*ff(k-3)) / 24; і
і x(k+1)=x(k)+h; і
і ff(k+1)=f5(x(k+1),y(k+1)); і
і end і
іclg, plot(y) % - ¤«п Є®­ва®«п і
і % ЋжҐ­Ёў Ґ¬ Ї®ЈаҐи­®бвм Ї® Їа ўЁ«г ђг­ЈҐ: і
іerr=max(abs( yold - y(1:2:m+1) )) / 15 і
і % „®Ў ў«пҐ¬ Ї®ЈаҐи­®бвм Є бва®ЄҐ errors: і
іerrors=[errors, err]; і
і % “в®з­пҐ¬ аҐиҐ­ЁҐ Ї® ђЁз а¤б®­г: і
іynew=(16*y(1:2:m+1) - yold) / 15; і
іynew=ynew(1:m/(2*n):m/2+1)' % - ®бв ўЁ«Ё «Ёим (n+1) §­ зҐ­ЁҐі
і % ЏҐаҐ®ЇаҐ¤Ґ«пҐ¬ yold ¤«п ЁбЇ®«м§®ў ­Ёп ­  б«Ґ¤. и ЈҐ: і
іyold=y; і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
2). ‡ ¤ ©вҐ ­ з «м­лҐ §­ зҐ­Ёп:
Ї m=n; yold=zeros(1,m+1); errors=[];
(­ з «м­®Ґ §­ зҐ­ЁҐ yold ­ҐбгйҐб⢥­­®, в.Є. ЁбЇ®«м§гҐвбп «Ёим
¤«п ба ў­Ґ­Ёп б® б«Ґ¤гойЁ¬ ЇаЁЎ«Ё¦Ґ­ЁҐ¬; ў бва®ЄҐ errors Ўг¤гв
­ Є Ї«Ёў вмбп ®жҐ­ЄЁ Ї®ЈаҐи­®бвЁ, Ї®«г祭­лҐ ­  Є ¦¤®¬ и ЈҐ).
3). Џ®ўв®ап©вҐ ўлзЁб«Ґ­Ёп ў ᮮ⢥вбвўЁЁ б work52 ¤® вҐе Ї®а,
Ї®Є  Ї®ЈаҐи­®бвм err ­Ґ бв ­Ґв ¬Ґ­миҐ, 祬 1e-9.
4). ‘®еа ­ЁвҐ १г«мв вл:
Ї save result52 m errors ynew
Соседние файлы в папке Laba4