در این مطلب، ویدئو حل معادله حرارتی PDE با استفاده از روش صریح در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:38
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:03,199 –> 00:00:06,080
در این ویدیو به نحوه انجام
2
00:00:06,080 –> 00:00:08,080
روش صریح برای حل
3
00:00:08,080 –> 00:00:11,040
معادله دیفرانسیل جزئی در پایتون می پردازیم،
4
00:00:11,040 –> 00:00:13,120
بنابراین بیایید شروع کنیم، من قصد ندارم
5
00:00:13,120 –> 00:00:14,480
تئوری را مرور
6
00:00:14,480 –> 00:00:15,599
کنم، فقط به شما نشان می دهم که چگونه
7
00:00:15,599 –> 00:00:17,840
پیاده سازی را در پایتون انجام دهید.
8
00:00:17,840 –> 00:00:19,279
9
00:00:19,279 –> 00:00:21,760
به یاد داشته باشید که این معادله گرما است و
10
00:00:21,760 –> 00:00:24,000
با استفاده از روش تفاضل محدود می توانید
11
00:00:24,000 –> 00:00:26,080
معادله صریح زیر را استخراج کنید
12
00:00:26,080 –> 00:00:29,279
که در اینجا نشان داده شده است،
13
00:00:29,279 –> 00:00:31,519
این معادله به شما امکان می دهد
14
00:00:31,519 –> 00:00:34,239
دما را برای مثال
15
00:00:34,239 –> 00:00:36,559
در سطح زمانی بعدی محاسبه
16
00:00:36,559 –> 00:00:38,879
کنید، بنابراین اگر به شکل اینجا بروید، بسیار خوب
17
00:00:38,879 –> 00:00:40,320
است.
18
00:00:40,320 –> 00:00:42,480
این معادله
19
00:00:42,480 –> 00:00:44,719
محاسبه این نقطه سبز مقدار سبز را در
20
00:00:44,719 –> 00:00:47,200
اینجا نشان می دهد، خوب، این نقطه سبز
21
00:00:47,200 –> 00:00:50,160
بر اساس مجموع وزنی مقدار قبلی
22
00:00:50,160 –> 00:00:51,120
23
00:00:51,120 –> 00:00:52,879
یا مقدار زمانی قبلی و
24
00:00:52,879 –> 00:00:54,719
مقادیر مجاور در سمت چپ و
25
00:00:54,719 –> 00:00:55,520
راست محاسبه می شود،
26
00:00:55,520 –> 00:00:56,640
خوب
27
00:00:56,640 –> 00:00:58,879
می توانید این را نیز بازنویسی کنید. معادله
28
00:00:58,879 –> 00:01:02,079
بر حسب شاخص، بنابراین
29
00:01:02,079 –> 00:01:05,040
می گوییم که برای این یکی برای این
30
00:01:05,040 –> 00:01:06,880
مقدار خاص، این t i کاما را می گوییم
31
00:01:06,880 –> 00:01:08,000
j
32
00:01:08,000 –> 00:01:10,799
i شاخص موقعیت و j
33
00:01:10,799 –> 00:01:14,320
شاخص زمان است به طوری که b e برابر با ti
34
00:01:14,320 –> 00:01:16,400
منهای 1 j منهای 1 است که در
35
00:01:16,400 –> 00:01:18,640
اینجا در مورد این نقطه در زمان قبلی و
36
00:01:18,640 –> 00:01:20,320
موقعیت قبلی صحبت می کند
37
00:01:20,320 –> 00:01:22,560
و نقطه بعدی t i ویرگول j منهای
38
00:01:22,560 –> 00:01:24,799
1 است که در زمان قبلی و
39
00:01:24,799 –> 00:01:26,640
موقعیت فعلی
40
00:01:26,640 –> 00:01:27,600
و
41
00:01:27,600 –> 00:01:30,479
d i به اضافه 1 j منهای 1 است.
42
00:01:30,479 –> 00:01:32,240
این نقطه در اینجا خواهد
43
00:01:32,240 –> 00:01:33,759
بود بسیار خوب،
44
00:01:33,759 –> 00:01:36,000
پس بیایید ببینیم چگونه می توانیم
45
00:01:36,000 –> 00:01:39,040
این مشکل را دوباره در پایتون ایجاد کنیم، بنابراین ابتدا
46
00:01:39,040 –> 00:01:43,920
اجازه دهید um numpy
47
00:01:43,920 –> 00:01:46,880
numpy snp را وارد کنیم و همچنین می خواهیم
48
00:01:46,880 –> 00:01:49,680
این را در پایان روز رسم کنیم، بنابراین mathplot
49
00:01:49,680 –> 00:01:51,200
50
00:01:51,200 –> 00:01:53,840
lib
51
00:01:53,840 –> 00:01:56,880
pi را وارد کنید. به صورت plt رسم
52
00:01:56,880 –> 00:01:57,680
کنید خب
53
00:01:57,680 –> 00:01:59,439
حالا ابتدا میخواهیم بردار x و بردار زمان را ایجاد کنیم،
54
00:01:59,439 –> 00:02:01,439
بنابراین فرض کنید x برابر
55
00:02:01,439 –> 00:02:04,399
با np نقطه یک محدوده است
56
00:02:04,399 –> 00:02:07,520
و از صفر تا یک به
57
00:02:07,520 –> 00:02:10,878
اندازه گام 0.25
58
00:02:10,878 –> 00:02:12,000
خوب است
59
00:02:12,000 –> 00:02:14,160
و اکنون فقط برای
60
00:02:14,160 –> 00:02:15,520
61
00:02:15,520 –> 00:02:18,160
پیروی از قرارداد اینجا استفاده کنید. اندازه گام
62
00:02:18,160 –> 00:02:19,680
63
00:02:19,680 –> 00:02:22,480
در موقعیت h است و اندازه گام در
64
00:02:22,480 –> 00:02:24,160
65
00:02:24,160 –> 00:02:26,640
زمان k خوب است، بنابراین بیایید همان
66
00:02:26,640 –> 00:02:29,920
متغیرها را در اینجا نگه داریم بنابراین h برابر با 0.25
67
00:02:29,920 –> 00:02:35,280
و k برابر است با 0.25 در اینجا،
68
00:02:35,760 –> 00:02:37,760
بنابراین این موقعیت من خواهد بود بنابراین
69
00:02:37,760 –> 00:02:40,560
در اینجا از h و برای بردار زمان t استفاده می
70
00:02:40,560 –> 00:02:43,680
کنیم از np dot استفاده میکنم،
71
00:02:43,680 –> 00:02:46,560
محدودهای از 0 تا 1 میرود
72
00:02:46,560 –> 00:02:49,040
و k بسیار
73
00:02:49,040 –> 00:02:50,879
خوب، حالا فقط اجازه دهید نگاهی گذرا به
74
00:02:50,879 –> 00:02:53,280
x داشته باشیم، اگر همان اعدادی را به ما میدهد
75
00:02:53,280 –> 00:02:55,120
تا بتوانید ببینید که فقط تا
76
00:02:55,120 –> 00:02:56,959
0.75 میرود. این کار
77
00:02:56,959 –> 00:02:58,720
آخرین عدد را نادیده میگیرد
78
00:02:58,720 –> 00:03:00,319
چیزی که شما می دهید به
79
00:03:00,319 –> 00:03:02,319
نوعی نادیده گرفته می شود، بنابراین برای رفع آن باید
80
00:03:02,319 –> 00:03:04,720
آخرین عدد را با اندازه گام فشار دهید، بنابراین
81
00:03:04,720 –> 00:03:07,200
این یک به علاوه h و این یک به علاوه
82
00:03:07,200 –> 00:03:08,959
k است،
83
00:03:08,959 –> 00:03:10,480
بنابراین اکنون به نظر می رسد که کار می کند، می
84
00:03:10,480 –> 00:03:11,920
توانید t را نیز بررسی کنید
85
00:03:11,920 –> 00:03:14,400
و t همچنین به شما همان مقدار را
86
00:03:14,400 –> 00:03:16,480
می دهد که به نظر می رسد کار می کند.
87
00:03:16,480 –> 00:03:19,280
نکته بعدی این است که ما باید
88
00:03:19,280 –> 00:03:22,560
یک ماتریس t را یک ماتریس t اولیه کنیم که
89
00:03:22,560 –> 00:03:25,840
همه این اعداد را در آن ذخیره می کند،
90
00:03:25,840 –> 00:03:28,000
بنابراین شما می توانید این کار را انجام دهید،
91
00:03:28,000 –> 00:03:30,000
ابتدا باید اندازه یا
92
00:03:30,000 –> 00:03:32,159
طول x را بدانید. چند نقطه در
93
00:03:32,159 –> 00:03:33,440
بردار x وجود دارد و چند
94
00:03:33,440 –> 00:03:34,959
نقطه در بردار t وجود دارد،
95
00:03:34,959 –> 00:03:37,360
ما این n را برابر با طول x
96
00:03:37,360 –> 00:03:40,080
و m برابر با طول
97
00:03:40,080 –> 00:03:40,959
t
98
00:03:40,959 –> 00:03:43,280
می نامیم، بسیار خوب، سپس می توانید یک بردار t
99
00:03:43,280 –> 00:03:45,200
بردار دما را با این تعداد ایجاد کنید.
100
00:03:45,200 –> 00:03:48,000
به این ترتیب t برابر
101
00:03:48,000 –> 00:03:51,519
و p نقطه صفر خواهد بود و سپس از یک تاپل
102
00:03:51,519 –> 00:03:54,799
با n کاما m به عنوان t استفاده کنید. اندازه او خوب است،
103
00:03:54,799 –> 00:03:57,360
بنابراین شما یک بردار خالی مانند ماتریس mt دریافت
104
00:03:57,360 –> 00:04:00,720
خواهید کرد با تمام صفرهایی که اکنون
105
00:04:00,720 –> 00:04:03,360
باید شرایط مرزی
106
00:04:03,360 –> 00:04:06,640
و شرط اولیه را پر کنیم،
107
00:04:07,519 –> 00:04:09,280
بنابراین ابتدا باید شرایط مرزی را تعریف کنیم،
108
00:04:09,280 –> 00:04:11,519
بنابراین شرط مرزی
109
00:04:11,519 –> 00:04:13,200
ساده ترین است. همه این
110
00:04:13,200 –> 00:04:14,799
نقاط را در اینجا تعریف کنید و همه این نقاط
111
00:04:14,799 –> 00:04:17,199
در اینجا بسیار خوب است، بنابراین شاخص x اولین عدد
112
00:04:17,199 –> 00:04:21,279
خواهد بود، بنابراین t
113
00:04:21,279 –> 00:04:25,840
شاخص برای x 0
114
00:04:25,840 –> 00:04:26,639
و
115
00:04:26,639 –> 00:04:29,120
برای تمام نقاط زمانی خوب است، بنابراین
116
00:04:29,120 –> 00:04:30,960
موقعیت صفر و تمام نقاط زمانی است. بنابراین شما
117
00:04:30,960 –> 00:04:32,720
از
118
00:04:32,720 –> 00:04:35,840
um و کولون استفاده می کنید خوب است بنابراین این با
119
00:04:35,840 –> 00:04:36,800
120
00:04:36,800 –> 00:04:38,720
121
00:04:38,720 –> 00:04:41,120
122
00:04:41,120 –> 00:04:43,360
123
00:04:43,360 –> 00:04:45,280
124
00:04:45,280 –> 00:04:47,360
125
00:04:47,360 –> 00:04:50,560
126
00:04:50,560 –> 00:04:52,320
شرایط مرزی ما برابر خواهد شد.
127
00:04:52,320 –> 00:04:54,639
ll در اینجا صفر را تایپ کنید و مرز سمت راست
128
00:04:54,639 –> 00:04:56,479
همه صفر است، بنابراین ما در اینجا صفر را تایپ می
129
00:04:56,479 –> 00:04:58,720
کنیم تا دیوار سمت چپ
130
00:04:58,720 –> 00:05:01,039
شرایط مرزی
131
00:05:01,039 –> 00:05:02,080
صفر باشد
132
00:05:02,080 –> 00:05:04,240
و دیوار سمت راست
133
00:05:04,240 –> 00:05:06,880
آخرین مقدار در موقعیت باشد، بنابراین
134
00:05:06,880 –> 00:05:09,440
این خواهد شد منهای یک کاما همه
135
00:05:09,440 –> 00:05:10,560
ستون ها
136
00:05:10,560 –> 00:05:13,840
معادله شرایط
137
00:05:13,840 –> 00:05:14,960
مرزی یک
138
00:05:14,960 –> 00:05:16,800
خوب است، بنابراین در صورتی که بخواهم آن را تغییر
139
00:05:16,800 –> 00:05:18,080
دهم، میتوانم شرایط مرزی را تغییر دهم،
140
00:05:18,080 –> 00:05:19,520
141
00:05:19,520 –> 00:05:21,039
بعد شرط اولیه است، بنابراین برای
142
00:05:21,039 –> 00:05:23,520
تعریف شرط اولیه،
143
00:05:23,520 –> 00:05:26,720
همه موقعیتها را میخواهیم، بنابراین همه موقعیتها را می
144
00:05:26,720 –> 00:05:28,880
خواهیم، اما بار اول را میخواهیم. خوب پ
145
00:05:28,880 –> 00:05:31,120
این t از همه کاما صفر خواهد
146
00:05:31,120 –> 00:05:33,120
بود خوب این برابر با
147
00:05:33,120 –> 00:05:35,120
شرایط اولیه است
148
00:05:35,120 –> 00:05:38,919
حالا شرط اولیه چیست
149
00:05:41,520 –> 00:05:43,120
خوب در این مورد خاص شرط اولیه
150
00:05:43,120 –> 00:05:45,360
سینوس
151
00:05:45,360 –> 00:05:46,400
pi x است
152
00:05:46,400 –> 00:05:48,320
خوب پس این برابر با np
153
00:05:48,320 –> 00:05:51,039
dot خواهد بود sine of
154
00:05:51,039 –> 00:05:52,560
و p dot pi
155
00:05:52,560 –> 00:05:55,120
ضربدر x
156
00:05:55,120 –> 00:05:56,000
خوب است
157
00:05:56,000 –> 00:05:58,639
و این تقریباً همینطور است، بنابراین بیایید ببینیم
158
00:05:58,639 –> 00:06:01,280
آیا این کار می کند یا خیر،
159
00:06:02,080 –> 00:06:03,520
بنابراین می توانید ببینید که در اینجا به اعداد وصل
160
00:06:03,520 –> 00:06:04,560
شده است
161
00:06:04,560 –> 00:06:06,319
و می توانید ببینید که این در
162
00:06:06,319 –> 00:06:08,000
نماد علمی است، بنابراین خواندن آن کمی سخت است،
163
00:06:08,000 –> 00:06:10,880
بگذارید فقط نقطه t
164
00:06:10,880 –> 00:06:13,440
را تا سه اعشار
165
00:06:13,440 –> 00:06:14,880
بگویید و می توانید ببینید که ما در اینجا اعداد یکسانی را به دست می آوریم،
166
00:06:14,880 –> 00:06:16,880
بنابراین نقطه
167
00:06:16,880 –> 00:06:19,680
صفر هفت صفر هفت یک صفر نقطه هفت و صفر است،
168
00:06:19,680 –> 00:06:21,440
بنابراین
169
00:06:21,440 –> 00:06:24,160
سینوس صفر نقطه دو پنج پی، پی روی
170
00:06:24,160 –> 00:06:25,600
چهار است که
171
00:06:25,600 –> 00:06:27,199
0.707
172
00:06:27,199 –> 00:06:30,880
سینوس پی است. اوه r 2 سینوس 90 است که یکی است، بنابراین
173
00:06:30,880 –> 00:06:32,800
به نظر می رسد که اکنون درست است، یک چیزی که
174
00:06:32,800 –> 00:06:34,319
باید به آن توجه کنید این است که از آنجایی که ما از اولین شاخص استفاده می کنیم
175
00:06:34,319 –> 00:06:36,560
، ردیف به عنوان
176
00:06:36,560 –> 00:06:38,560
موقعیت شما به عنوان موقعیت شما تعریف می شود و
177
00:06:38,560 –> 00:06:40,639
ستون ها به عنوان زمان شما تعریف می شوند، بنابراین به
178
00:06:40,639 –> 00:06:42,080
نظر می رسد.
179
00:06:42,080 –> 00:06:44,000
شبیه یک نسخه انتقالی
180
00:06:44,000 –> 00:06:46,000
از نمودار است که در اینجا نشان داده شده است، بنابراین به
181
00:06:46,000 –> 00:06:47,360
خاطر داشته باشید
182
00:06:47,360 –> 00:06:48,400
که خوب، اکنون
183
00:06:48,400 –> 00:06:50,160
ما بردار زمان را تعریف کرده ایم، اکنون
184
00:06:50,160 –> 00:06:51,599
باید بقیه نقاط
185
00:06:51,599 –> 00:06:54,880
داخل آن را محاسبه کنیم، بنابراین باید حلقه را انجام دهیم،
186
00:06:54,880 –> 00:06:57,120
بنابراین اگر به این مشکل در اینجا
187
00:06:57,120 –> 00:06:59,120
می بینید که ابتدا باید
188
00:06:59,120 –> 00:07:01,520
این موقعیت را محاسبه کنیم و سپس به این
189
00:07:01,520 –> 00:07:03,520
موقعیت برویم و سپس این موقعیت خوب است،
190
00:07:03,520 –> 00:07:04,880
شما نیازی به محاسبه لبه ها
191
00:07:04,880 –> 00:07:06,560
ندارید زیرا آنها فقط تعریف شده اند و سپس
192
00:07:06,560 –> 00:07:07,919
یک بار که تمام این سه
193
00:07:07,919 –> 00:07:10,319
نقطه را محاسبه کنید. به عقب برگردید و با این
194
00:07:10,319 –> 00:07:12,160
نقطه از اینجا شروع کنید، بنابراین باید یک حلقه داخلی وجود داشته باشد
195
00:07:12,160 –> 00:07:14,000
که از طریق موقعیت حلقه می زند و
196
00:07:14,000 –> 00:07:15,360
سپس باید یک حلقه بیرونی وجود داشته باشد که
197
00:07:15,360 –> 00:07:18,080
از طریق بردار زمان حلقه می زند،
198
00:07:18,080 –> 00:07:19,759
بنابراین ما با حلقه بیرونی بردار زمان شروع می کنیم،
199
00:07:19,759 –> 00:07:21,759
بنابراین برای um
200
00:07:21,759 –> 00:07:26,000
j j ind است ex برای زمان در محدوده از
201
00:07:26,000 –> 00:07:28,479
و زمان با m تعریف میشود، بنابراین ما متأسفیم
202
00:07:28,479 –> 00:07:31,199
m okay و حلقه داخلی
203
00:07:31,199 –> 00:07:35,919
برای i در محدوده خواهد بود و با n تعریف میشود
204
00:07:35,919 –> 00:07:38,160
205
00:07:41,599 –> 00:07:43,039
بسیار خوب، بنابراین j
206
00:07:43,039 –> 00: