import sympy as sp
# Define symbols
x, y = sp.symbols('x y')
# Define M(x,y) and N(x,y)
M = 2*x*y + y**2
N = x**2 + 2*x*y
# Check exactness
dM_dy = sp.diff(M, y)
dN_dx = sp.diff(N, x)
print("dM/dy =", dM_dy)
print("dN/dx =", dN_dx)
if sp.simplify(dM_dy - dN_dx) == 0:
print("\nEquation is EXACT")
# Integrate M w.r.t x
F = sp.integrate(M, x)
# Differentiate F w.r.t y
Fy = sp.diff(F, y)
# Adjust missing terms
g = sp.integrate(N - Fy, y)
F = F + g
print("\nGeneral Solution F(x,y) = C:")
print(F)
else:
print("\nNot an exact equation")
dM/dy = 2*x + 2*y
dN/dx = 2*x + 2*y
Equation is EXACT
General Solution F(x,y) = C:
x**2*y + x*y**2
import sympy as sp
# Symbols
x, y = sp.symbols('x y')
# Define M and N (NON-exact example)
M = y
N = -x
# Step 1: Check exactness
dM_dy = sp.diff(M, y)
dN_dx = sp.diff(N, x)
print("dM/dy =", dM_dy)
print("dN/dx =", dN_dx)
if sp.simplify(dM_dy - dN_dx) == 0:
print("\nEquation is EXACT")
# Solve directly
F = sp.integrate(M, x)
Fy = sp.diff(F, y)
g = sp.integrate(N - Fy, y)
F = F + g
print("\nSolution F(x,y) = C:")
print(F)
else:
print("\nEquation is NON-EXACT")
# Step 2: Try integrating factor (x-based)
IF = sp.exp(sp.integrate((dM_dy - dN_dx)/N, x))
print("\nIntegrating Factor (assumed μ(x)):")
print(IF)
# Step 3: Multiply IF with M and N
M1 = IF * M
N1 = IF * N
print("\nAfter applying IF:")
print("M1 =", M1)
print("N1 =", N1)
# Step 4: Now treat as EXACT equation
print("\nNow solving as EXACT equation...")
F = sp.integrate(M1, x)
Fy = sp.diff(F, y)
g = sp.integrate(N1 - Fy, y)
F = F + g
print("\nFinal Solution F(x,y) = C:")
print(F)
dM/dy = 1
dN/dx = -1
Equation is NON-EXACT
Integrating Factor (assumed μ(x)):
x**(-2)
After applying IF:
M1 = y/x**2
N1 = -1/x
Now solving as EXACT equation...
Final Solution F(x,y) = C:
-y/x
import numpy as np
import matplotlib.pyplot as plt
# Input values
N0 = float(input("Enter initial value (N0): "))
k = float(input("Enter the exponential growth (positive) or decay (negative) rate k: "))
t_max = int(input("Enter max time: "))
# Time values
t = np.linspace(0, t_max, 100)
# Exponential model
N = N0 * np.exp(k * t)
# Print some values
print("\nTime vs Value:")
for i in range(0, len(t), 20):
print(f"t={t[i]:.1f}, N={N[i]:.2f}")
# Plot graph
plt.plot(t, N)
plt.xlabel("Time (t)")
plt.ylabel("N(t)")
plt.title("Exponential Growth/Decay Model")
plt.grid()
plt.show()
Enter initial value (N0): 100
Enter the exponential growth (positive) or decay (negative) rate k: 0.2
Enter max time: 10
Time vs Value:
t=0.0, N=100.00
t=2.0, N=149.79
t=4.0, N=224.36
t=6.1, N=336.06
t=8.1, N=503.37
import numpy as np
import matplotlib.pyplot as plt
# Inputs
T0 = float(input("Enter initial temperature (T0): "))
Ts = float(input("Enter surrounding temperature (Ts): "))
k = float(input("Enter cooling constant (k): "))
t_max = float(input("Enter maximum time: "))
# Time values
t = np.linspace(0, t_max, 100)
# Newton's Law of Cooling formula
T = Ts + (T0 - Ts) * np.exp(-k * t)
# Print sample values
print("\nTime vs Temperature:")
for i in range(0, len(t), 20):
print(f"t={t[i]:.1f}, T={T[i]:.2f}")
# Plot graph
plt.plot(t, T)
plt.xlabel("Time (t)")
plt.ylabel("Temperature T(t)")
plt.title("Newton's Law of Cooling")
plt.grid()
plt.show()
Enter initial temperature (T0): 100
Enter surrounding temperature (Ts): 25
Enter cooling constant (k): 0.1
Enter maximum time: 10
Time vs Temperature:
t=0.0, T=100.00
t=2.0, T=86.28
t=4.0, T=75.07
t=6.1, T=65.91
t=8.1, T=58.43
1.
UNIT - I: Eigen values and Eigenvectors:
Programs:
• Finding real and complex Eigen values.
• Finding Eigen vectors.
View Solution
2.
UNIT - II: Solution of Algebraic and Transcendental Equations:
Bisection method, Newton Raphson Method
Programs:
• Root of a given equation using Bisection method.
• Root of a given equation Newton Raphson Method.
View Solution
3.
UNIT-III: Linear system of equations:
Jacobi's iteration method and Gauss-Seidal iteration method
Programs:
• Solution of given system of linear equations using Jacobi's method.
• Solution of given system of linear equations using Gauss-Seidal method.
View Solution
4.
UNIT-IV: First-Order ODEs:
Exact and non-exact equations, Applications: exponential growth/decay, Newton's law of cooling.
Programs:
• Solving exact and non-exact equations.
• Solving exponential growth/decay and Newton's law of cooling problems.
View Solution
5.
UNIT-V: Higher order linear differential equations with constant coefficients:
Programs:
• Solving homogeneous ODEs.
• Solving non-homogeneous ODEs.
View Solution