File:Numerical_integration_illustration,_h=0.25.png
維基百科,自由的 encyclopedia
![File:Numerical integration illustration, h=0.25.png](http://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Numerical_integration_illustration%2C_h%3D0.25.png/412px-Numerical_integration_illustration%2C_h%3D0.25.png)
預覽大小:412 × 600 像素。 其他解析度:165 × 240 像素 | 330 × 480 像素 | 528 × 768 像素 | 703 × 1,024 像素 | 1,500 × 2,183 像素。
原始檔案 (1,500 × 2,183 像素,檔案大小:85 KB,MIME 類型:image/png)
![]() |
File:Numerical integration illustration step=0.25.svg是本檔案的向量版本。 如果品質不低,就應該優先使用該檔案,而非PNG檔案。
File:Numerical integration illustration, h=0.25.png → File:Numerical integration illustration step=0.25.svg
更多資訊請參閱Help:SVG/zh。
|
摘要
描述Numerical integration illustration, h=0.25.png | Illustration of Numerical ordinary differential equations |
來源 | 自己的作品 |
作者 | Oleg Alexandrov |
Public domainPublic domainfalsefalse |
![]() |
我,此作品的版權所有人,釋出此作品至公共領域。此授權條款在全世界均適用。 這可能在某些國家不合法,如果是的話: 我授予任何人有權利使用此作品於任何用途,除受法律約束外,不受任何限制。 |
Source code (MATLAB)
% illustration of numerical integration
% compare the Forward Euler method, which is globally O(h)
% with Midpoint method, which is globally O(h^2)
% and the exact solution
function main()
f = inline ('y', 't', 'y'); % will solve y' = f(t, y)
a=0; b=4; % endpoints of the interval where we will solve the ODE
N = 17; T = linspace(a, b, N); h = T(2)-T(1); % the grid
y0 = 1; % initial condition
% solve the ODE
Y_euler = solve_ODE (N, f, y0, h, T, 1); % Forward Euler method
Y_midpt = solve_ODE (N, f, y0, h, T, 2); % midpoint method
T_highres = a:0.1:b; Y_exact = exp(T_highres);
% prepare the plotting window
lw = 3; % curves linewidth
fs = 20; % font size
figure(1); clf; set(gca, 'fontsize', fs); hold on;
% colors
red=[0.867 0.06 0.14];
blue = [0, 129, 205]/256;
green = [0, 200, 70]/256;
% plot the solutions
plot(T, Y_euler, 'color', blue, 'linewidth', lw)
plot(T, Y_midpt, 'color', green, 'linewidth', lw)
plot(T_highres, Y_exact, 'color', red, 'linewidth', lw)
% axes aspect ratio
pbaspect([1 1.5 1]);
% save to disk
disp(sprintf('Grid size is %0.9g', h))
saveas(gcf, sprintf('Numerical_integration_illustration,_h=%0.2g.eps', h), 'psc2');
function Y = solve_ODE (N, f, y0, h, T, method)
Y = 0*T;
Y(1)=y0;
for i=1:(N-1)
t = T(i); y = Y(i);
if method == 1 % forward Euler method
Y(i+1) = y + h*f(t, y);
elseif method == 2 % explicit one step midpoint method
K = y + 0.5*h*f(t, y);
Y(i+1) = y + h*f(t+h/2, K);
else
disp ('Don`t know this type of method');
return;
end
end
說明
添加單行說明來描述出檔案所代表的內容
在此檔案描寫的項目
描繪內容
沒有維基數據項目的某些值
著作權狀態 繁體中文 (已轉換拼寫)
保有知識產權並由其所有者公開於公有領域 繁體中文 (已轉換拼寫)
著作權持有者釋出至公有領域 繁體中文 (已轉換拼寫)
檔案歷史
點選日期/時間以檢視該時間的檔案版本。
日期/時間 | 縮圖 | 尺寸 | 用戶 | 備註 | |
---|---|---|---|---|---|
目前 | 2007年5月25日 (五) 03:02 | ![]() | 1,500 × 2,183(85 KB) | Oleg Alexandrov | Make exact solution smooth |
2007年5月20日 (日) 05:00 | ![]() | 1,500 × 2,183(84 KB) | Oleg Alexandrov | Higher resolution. Same license. | |
2007年5月20日 (日) 03:19 | ![]() | 375 × 546(16 KB) | Oleg Alexandrov | {{Information |Description=Illustration of Numerical ordinary differential equations |Source=self-made |Date= |Author= User:Oleg Alexandrov }} Category:Numerical analysis {{PD-self}} |
檔案用途
下列頁面有用到此檔案:
全域檔案使用狀況
以下其他 wiki 使用了這個檔案:
- ca.wikipedia.org 的使用狀況
- el.wikipedia.org 的使用狀況
- it.wikipedia.org 的使用狀況
- mn.wikipedia.org 的使用狀況
- pt.wikipedia.org 的使用狀況
- tl.wikipedia.org 的使用狀況
- uk.wikipedia.org 的使用狀況