Files
gh-kongdd-skills-for-your-a…/skills/julia-numerical/examples.jl
2025-11-30 08:35:28 +08:00

156 lines
4.6 KiB
Julia

# Julia Numerical Calculation Examples
# This file contains common numerical computation patterns
# ============================================================================
# Linear Algebra Examples
# ============================================================================
function linear_algebra_examples()
using LinearAlgebra
println("=== Linear Algebra Examples ===")
# Matrix creation and basic operations
A = [1 2 3; 4 5 6; 7 8 10]
b = [1, 2, 3]
println("Matrix A:")
println(A)
# Solve linear system Ax = b
x = A \ b
println("\nSolution to Ax = b:")
println(x)
# Eigenvalues
eigenvals, eigenvecs = eigen(A)
println("\nEigenvalues:")
println(eigenvals)
# Singular value decomposition
U, S, V = svd(A)
println("\nSingular values:")
println(S)
# Determinant and norm
println("\nDeterminant: ", det(A))
println("Frobenius norm: ", norm(A))
end
# ============================================================================
# Numerical Integration Examples
# ============================================================================
function integration_examples()
using QuadGK
println("\n=== Numerical Integration Examples ===")
# Integrate sin(x) from 0 to π
f1(x) = sin(x)
result1, error1 = quadgk(f1, 0, π)
println("∫sin(x)dx from 0 to π = ", result1)
println("Estimated error: ", error1)
# Integrate exp(-x^2) from -∞ to ∞ (Gaussian)
f2(x) = exp(-x^2)
result2, error2 = quadgk(f2, -Inf, Inf)
println("\n∫exp(-x²)dx from -∞ to ∞ = ", result2)
println("Theoretical value: ", sqrt(π))
# Integrate 1/(1+x^2) from 0 to 1
f3(x) = 1/(1 + x^2)
result3, error3 = quadgk(f3, 0, 1)
println("\n∫1/(1+x²)dx from 0 to 1 = ", result3)
println("Theoretical value (π/4): ", π/4)
end
# ============================================================================
# Optimization Examples
# ============================================================================
function optimization_examples()
using Optim
println("\n=== Optimization Examples ===")
# Simple quadratic function
f(x) = (x[1] - 2)^2 + (x[2] - 3)^2
result = optimize(f, [0.0, 0.0])
println("Minimize f(x,y) = (x-2)² + (y-3)²")
println("Minimum found at: ", Optim.minimizer(result))
println("Minimum value: ", Optim.minimum(result))
# Rosenbrock function (more challenging)
rosenbrock(x) = (1 - x[1])^2 + 100(x[2] - x[1]^2)^2
result2 = optimize(rosenbrock, [0.0, 0.0])
println("\nMinimize Rosenbrock function")
println("Minimum found at: ", Optim.minimizer(result2))
println("Minimum value: ", Optim.minimum(result2))
end
# ============================================================================
# Statistics Examples
# ============================================================================
function statistics_examples()
using Statistics
println("\n=== Statistics Examples ===")
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20]
println("Data: ", data)
println("\nStatistical measures:")
println("Mean: ", mean(data))
println("Median: ", median(data))
println("Standard deviation: ", std(data))
println("Variance: ", var(data))
println("Minimum: ", minimum(data))
println("Maximum: ", maximum(data))
println("Range: ", maximum(data) - minimum(data))
# Quantiles
println("\nQuantiles:")
println("25th percentile: ", quantile(data, 0.25))
println("50th percentile: ", quantile(data, 0.50))
println("75th percentile: ", quantile(data, 0.75))
end
# ============================================================================
# Root Finding Examples
# ============================================================================
function root_finding_examples()
using Roots
println("\n=== Root Finding Examples ===")
# Find root of f(x) = x^3 - 2
f(x) = x^3 - 2
root = find_zero(f, 1.0)
println("Root of x³ - 2 = 0: ", root)
println("Verification: f(root) = ", f(root))
# Find root of f(x) = sin(x) - 0.5
f2(x) = sin(x) - 0.5
root2 = find_zero(f2, 0.5)
println("\nRoot of sin(x) - 0.5 = 0: ", root2)
println("Verification: f(root) = ", f2(root2))
end
# ============================================================================
# Main execution
# ============================================================================
if abspath(PROGRAM_FILE) == @__FILE__
linear_algebra_examples()
integration_examples()
optimization_examples()
statistics_examples()
root_finding_examples()
end