के लिए सीमित अंतर समाधान में सीमा शर्तों का आवेदन नीचे दिया गया कोड 1 डी गर्मी समीकरण हल करता है जो एक छड़ी का प्रतिनिधित्व करता है जिसका अंत प्रारंभिक स्थिति 10 * np.sin (np.pi) के साथ शून्य temparature पर रखा जाता है *एक्स)।गर्मी समीकरण और क्रैंक-निकोलसन
इस गणना में Dirichlet सीमा की स्थिति (दोनों सिरों पर शून्य temp) कैसे काम करते हैं? मुझे ऊपरी बताया गया था, मैट्रिक्स ए की निचली पंक्तियों में दो गैर-शून्य तत्व होते हैं, और गायब तीसरे तत्व Dirichlet स्थिति है। लेकिन मुझे समझ में नहीं आता कि यह स्थिति किस स्थिति से गणना को प्रभावित करती है। ए में गायब तत्वों के साथ, u_ {0} या u_ {n} शून्य कैसे हो सकता है?
क्रैंक-निकोलसन का उपयोग नीचे सीमित अंतर विधि।
import numpy as np
import scipy.linalg
# Number of internal points
N = 200
# Calculate Spatial Step-Size
h = 1/(N+1.0)
k = h/2
x = np.linspace(0,1,N+2)
x = x[1:-1] # get rid of the '0' and '1' at each end
# Initial Conditions
u = np.transpose(np.mat(10*np.sin(np.pi*x)))
# second derivative matrix
I2 = -2*np.eye(N)
E = np.diag(np.ones((N-1)), k=1)
D2 = (I2 + E + E.T)/(h**2)
I = np.eye(N)
TFinal = 1
NumOfTimeSteps = int(TFinal/k)
for i in range(NumOfTimeSteps):
# Solve the System: (I - k/2*D2) u_new = (I + k/2*D2)*u_old
A = (I - k/2*D2)
b = np.dot((I + k/2*D2), u)
u = scipy.linalg.solve(A, b)
तो यह कहना सही होगा कि कोड दो कारणों से शुरू होता है और x के अंत में x = x [1: -1] के कारण x के अंत को हटा देता है? ताकि हम आपको एक नया "कम" कर सकें जो "कम" ए को गुणा कर सकता है? – user423805
@ उपयोगकर्ता 423805 - हाँ।और यदि लगाई गई सीमा की स्थिति एक ऐसे फॉर्म के थे जहां आप आसानी से कम ए का निर्माण नहीं कर सके, तो आपको पूर्ण ए और एक्स पर विचार करना होगा। इस (काफी आम) मामले में, एक्स के मान वास्तविक डेटा के अनुरूप नहीं हैं, लेकिन सीमा की स्थिति को लागू करने के तरीकों को आमतौर पर भूत कोशिकाएं या गार्ड कोशिकाएं या संवेदी कोशिकाएं (या नोड्स, या जोन, या आपके पास क्या कहा जाता है) कहा जाता है। –