ملف:Heat_eqn.gif
من ويكيبيديا، الموسوعة encyclopedia
Heat_eqn.gif (200 × 136 بكسل حجم الملف: 500 كيلوبايت، نوع MIME: image/gif، ملفوف، 181 إطارا، 6٫0ث)
هذا ملف من ويكيميديا كومنز. معلومات من صفحة وصفه مبينة في الأسفل. كومنز مستودع ملفات ميديا ذو رخصة حرة. |
ملخص
الوصفHeat eqn.gif |
English: Illustration of the Heat equation. Русский: Решение уравнения теплопроводности. |
التاريخ | (UTC) |
المصدر |
عمل شخصي .هذا الرسم المتجهي أُنشئ بواسطة MATLAB |
المؤلف | Oleg Alexandrov |
إصدارات أخرى |
ترخيص
Public domainPublic domainfalsefalse |
أنا، مالِك حقوق تأليف ونشر هذا العمل، أجعله في النِّطاق العامِّ، يسري هذا في أرجاء العالم كلِّه. في بعض البلدان، قد يكون هذا التَّرخيص غيرَ مُمكنٍ قانونيَّاً، في هذه الحالة: أمنح الجميع حق استخدام هذا العمل لأي غرض دون أي شرط ما لم يفرض القانون شروطًا إضافية. |
MATLAB source code
% illustration of the heat equation
% Solve the heat equation using finite differences and Forward Euler
function main()
% the number of data points. More points means prettier picture.
N = 400;
L = 2.5; % the box size is [-L, L] x [-L, L]
XX = linspace(-L, L, N);
YY = linspace(-L, L, N);
[X, Y] = meshgrid(XX, YY);
scale = 2;
Z = get_step_function (N, scale, X, Y);
CFL = 0.125; % CourantFriedrichsLewy
dx = XX(2)-XX(1); dy = dx; % space grid
dt = CFL*dx^2;
plot_dt = 0.004; % plot every plot_dt iterations
cmap = rv_matrix_rows(autumn); % colormap
% Solve the heat equation with zero boundary conditions
T = 0:dt:1;
iter = 0;
frame_no = 0;
for t=T
% plot the current temperature distribution
if floor(t/plot_dt) + 1 > frame_no
frame_no = frame_no + 1
% plot the surface
figure(2); clf;
surf(X, Y, Z);
% make the surface beautiful
shading interp; colormap(cmap);
% add in a source of light
camlight (-50, 54);
lighting phong;
% viewing angle
view(-40, 38);
axis equal; axis off;
axis([-L, L, -L, L, 0, scale])
hold on; plot3(0, 0, 3.4, 'g*'); % a marker to help with cropping
pause(0.1);
%return
file = sprintf('Movie_frame%d.png', 1000+frame_no);
%saveas(gcf, file) %save the current frame
print(gcf, '-dpng', '-r400', file) %save the current frame
disp(file); %show the frame number we are at
% cut at max_fr_no frames
max_fr_no = 15;
if frame_no >= max_fr_no
break
end
end
% advance in time
W = 0*Z;
for i=2:(N-1)
for j=2:(N-1)
W(i, j) = Z(i, j) + dt * ( Z(i+1, j) + Z(i-1, j) + Z(i, j-1) + Z(i, j+1) - 4*Z(i, j))/dx^2;
end
end
Z = W;
end
% The gif image was creating with the command
% convert -antialias -loop 10000 -delay 20 -compress LZW Movie_frame10* Heat_eqn.gif
% get a function which is 1 on a set, and 0 outside of it
function Z = get_step_function(N, scale, X, Y)
c = 2;
d=-1;
e=1;
f=0.5;
k=1.2;
shift=10;
Z = (c^2-(X/e-d).^2-(Y/f).^2).^2 + k*(c+d-X/e).^3-shift;
Z = 1-max(sign(Z), 0);
Z = scale*Z;
function X = rv_matrix_rows(X)
[m, n] = size(XL);
for i = 1:m
j = m + 1 - i;
if i < j
tmp = X(i, :); X(i, :) = X(j, :); X(j, :) = tmp;
end
end
العناصر المصورة في هذا الملف
يُصوِّر
قيمة ما بدون عنصر ويكي بيانات
٢٣ نوفمبر 2007
image/gif
تاريخ الملف
اضغط على زمن/تاريخ لرؤية الملف كما بدا في هذا الزمن.
زمن/تاريخ | صورة مصغرة | الأبعاد | مستخدم | تعليق | |
---|---|---|---|---|---|
حالي | 18:01، 2 فبراير 2024 | 200 × 136 (500 كيلوبايت) | Jahobr | more frames (by user Emil Dalalyan) | |
01:25، 12 أبريل 2019 | 200 × 136 (172 كيلوبايت) | Jorge Stolfi | Duplicated some framed at beginning so that readers can see the initial state. Added a couple blank frames at end to make it clear that the simulation ended. Slowed down the movie a bit. | ||
19:58، 24 أبريل 2011 | 200 × 136 (116 كيلوبايت) | Oleg Alexandrov | Reverse the colormap (red is high). | ||
06:11، 23 نوفمبر 2007 | 199 × 140 (126 كيلوبايت) | Oleg Alexandrov | Tweak, same license | ||
05:51، 23 نوفمبر 2007 | 200 × 129 (112 كيلوبايت) | Oleg Alexandrov | {{Information |Description=Illustration of the en:Heat equation |Source=self-made with Matlab |Date=~~~~~ |Author= Oleg Alexandrov |Permission=PD-self, see below |other_versions= }} {{PD-self}} ==MATLAB source code== <pre> |
استخدام الملف
الصفحة التالية تستخدم هذا الملف:
الاستخدام العالمي للملف
الويكيات الأخرى التالية تستخدم هذا الملف:
- الاستخدام في ast.wikipedia.org
- الاستخدام في bn.wikipedia.org
- الاستخدام في ca.wikipedia.org
- الاستخدام في cs.wikipedia.org
- الاستخدام في de.wikipedia.org
- الاستخدام في el.wikipedia.org
- الاستخدام في en.wikipedia.org
- الاستخدام في eo.wikipedia.org
- الاستخدام في es.wikipedia.org
- الاستخدام في et.wikipedia.org
- الاستخدام في fr.wikipedia.org
- الاستخدام في gl.wikipedia.org
- الاستخدام في hy.wikipedia.org
- الاستخدام في ja.wikipedia.org
- الاستخدام في ko.wikipedia.org
- الاستخدام في ms.wikipedia.org
- الاستخدام في nl.wikipedia.org
- الاستخدام في pl.wikipedia.org
- الاستخدام في pt.wikipedia.org
- الاستخدام في ro.wikipedia.org
- الاستخدام في ru.wikipedia.org
- الاستخدام في sco.wikipedia.org
- الاستخدام في ta.wikipedia.org
- الاستخدام في th.wikipedia.org
- الاستخدام في tl.wikipedia.org
- الاستخدام في www.wikidata.org
- الاستخدام في zh-yue.wikipedia.org
- الاستخدام في zh.wikipedia.org
مجلوبة من «https://ar.wikipedia.org/wiki/ملف:Heat_eqn.gif»