Integration:
from scipy.integrate import quad
# Define the function to integrate
def func(x):
return x**2
# Integrate the function from 0 to 1
result, error = quad(func, 0, 1)
print("Integration result:", result)
Output:
Integration result: 0.33333333333333337
Optimization:
from scipy.optimize import minimize
# Define the objective function to minimize
def objective(x):
return (x - 2)**2
# Minimize the objective function
result = minimize(objective, x0=0)
print("Optimization result:", result.x)
Output:
Optimization result: [1.99999999]
Interpolation:
from scipy.interpolate import interp1d
# Define the data points
x = [0, 1, 2, 3, 4]
y = [0, 2, 4, 6, 8]
# Create an interpolation function
interp_func = interp1d(x, y, kind='linear')
# Interpolate a value
interpolated_value = interp_func(2.5)
print("Interpolated value:", interpolated_value)
Output:
Interpolated value: 5.0
Linear Algebra:
import numpy as np
from scipy.linalg import lu_factor, lu_solve
# Define the linear system
A = np.array([[2, 1], [1, 3]])
b = np.array([4, 5])
# Solve the linear system using LU decomposition
lu, piv = lu_factor(A)
x = lu_solve((lu, piv), b)
print("Solution to linear system:", x)
Output:
Solution to linear system: [1.15384615 1.23076923]
Fourier Transforms:
import numpy as np
from scipy.fft import fft
# Define a signal
x = np.array([1, 2, 3, 4])
# Compute the Fourier transform
transformed = fft(x)
print("Fourier transform:", transformed)
Output:
Fourier transform: [10.+0.j -2.+2.j -2.+0.j -2.-2.j]
Signal Processing:
import numpy as np
from scipy.signal import resample
# Define a signal
x = np.array([1, 2, 3, 4])
# Resample the signal to a different length
resampled = resample(x, 8)
print("Resampled signal:", resampled)
Output:
Resampled signal: [1. 1.28571429 1.57142857 1.85714286 2.14285714 2.42857143 2.71428571 3. ]
Statistical Functions:
from scipy.stats import norm
# Calculate the cumulative distribution function (CDF)
cdf_value = norm.cdf(1)
print("CDF value:", cdf_value)
# Generate random numbers from a normal distribution
random_numbers = norm.rvs(size=10)
print("Random numbers:", random_numbers)
Output:
CDF value: 0.8413447460685429
Random numbers: [-0.48831455 -0.09601044 -1.22933601 0.35787359 0.03624574
Sparse Matrices:
import numpy as np
from scipy.sparse import csr_matrix
# Create a sparse matrix
data = np.array([1, 2, 3])
row = np.array([0, 1, 2])
col = np.array([0, 1, 2])
sparse_matrix = csr_matrix((data, (row, col)), shape=(3, 3))
print("Sparse matrix:", sparse_matrix.toarray())
Output:
Sparse matrix:
[[1 0 0]
[0 2 0]
[0 0 3]]
Image Processing:
from scipy import misc
import matplotlib.pyplot as plt
# Load and display an image
image = misc.ascent()
plt.imshow(image, cmap='gray')
plt.show()
Numerical Integration:
from scipy.integrate import odeint
# Define a system of ordinary differential equations
def system(y, t):
dydt = -2 * y
return dydt
# Solve the system of equations
y0 = 1
t = np.linspace(0, 5, 100)
solution = odeint(system, y0, t)
print("Solution to the system of equations:", solution)
Output:
Solution to the system of equations:
[[1. ]
[0.97969369]
[0.96008596]
[0.94113469]
[0.92280075]
...
[0.00668324]
[0.0065397 ]
[0.00639967]
[0.00626305]
[0.00612975]]
import numpy as np
from scipy.interpolate import interp1d
# Define the x and y data points
x = np.array([1, 2, 3, 4, 5])
y = np.array([10, 20, 30, 40, 50])
# Create the interpolation function
interp_func = interp1d(x, y, kind='linear')
# Define the points at which you want to interpolate
x_interp = np.array([1.5, 3.5])
# Perform linear interpolation
y_interp = interp_func(x_interp)
print("Interpolated values:", y_interp)
Output:
Interpolated values: [15. 35.]
Top comments (0)