ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Learn Physics with Functional Programming

دانلود کتاب فیزیک را با برنامه نویسی تابعی بیاموزید

Learn Physics with Functional Programming

مشخصات کتاب

Learn Physics with Functional Programming

ویرایش:  
نویسندگان:   
سری:  
ISBN (شابک) : 9781718501669, 2022018707 
ناشر: No Starch Press 
سال نشر: 2023 
تعداد صفحات:  
زبان: English 
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 10 Mb 

قیمت کتاب (تومان) : 49,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 8


در صورت تبدیل فایل کتاب Learn Physics with Functional Programming به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب فیزیک را با برنامه نویسی تابعی بیاموزید نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب فیزیک را با برنامه نویسی تابعی بیاموزید

این کتاب حل مسائل فیزیک را با استفاده از الگوی برنامه نویسی تابعی به شما آموزش می دهد. ایده آل برای اولین بار برنامه نویسان و علاقه مندان به علم به طور یکسان، زبان برنامه نویسی Haskell را معرفی می کند و نوشتن کدهای زیبا را تشویق می کند تا با ایده های ظریف فیزیک نظری مطابقت داشته باشد. فصل‌های اولیه اصول کدگذاری در Haskell را پوشش می‌دهد، که دارای سیستم قدرتمندی از انواع است که قادر به رمزگذاری ساختارهای ریاضی مهم در فیزیک است، مانند بردارها، مشتقات، انتگرال‌ها، میدان‌های اسکالر، میدان‌های برداری و معادلات دیفرانسیل. بخش‌های بعدی کتاب به بررسی مکانیک نیوتنی و الکترومغناطیسی می‌پردازد - دو ستون اصلی فیزیک نظری. علاوه بر این، نگاهی عمیق به کد منبع خواهید داشت و خواهید فهمید که چرا توابع مرتبه بالا و شفافیت ارجاعی Haskell به خوبی به فیزیک کمک می کند. در طول راه، یاد خواهید گرفت •نحوه نوشتن کدهای زیبا که اصول فیزیکی اساسی را بیان می کند •نحوه ایجاد نمودار و انیمیشن از موقعیت های جالب •نحوه برنامه نویسی به زبانی که شبیه ریاضیات است • چگونه انواع، توابع مرتبه بالا، و شفافیت ارجاعی به خوبی به فیزیک خدمت می کنند


توضیحاتی درمورد کتاب به خارجی

This book teaches you to solve physics problems using the functional programming paradigm. Ideal for first-time programmers and science aficionados alike, it introduces the Haskell programming language and encourages the writing of beautiful code to match the elegant ideas of theoretical physics. Early chapters cover the basics of coding in Haskell, which has a powerful system of types capable of encoding important mathematical structures in physics, like vectors, derivatives, integrals, scalar fields, vector fields, and differential equations. Later sections of the book explore Newtonian mechanics and electromagnetics—two central pillars of theoretical physics. In addition, you’ll get a deep look into source code, and discover why Haskell’s high-order functions and referential transparency serve physics so well. Along the way, you’ll learn •How to write beautiful code that expresses fundamental physical principles •How to make graphs and animations of interesting situations •How to program in a language that looks like mathematics •How types, high order functions, and referential transparency serve physics well



فهرست مطالب

Cover Page
Title Page
Copyright Page
Dedication
About the Author
About the Technical Reviewer
Brief Contents
Contents in Detail
ACKNOWLEDGMENTS
INTRODUCTION

    Who This Book Is For
    Why Functional Programming, and Why Haskell?
    About This Book

PART I A HASKELL PRIMER FOR PHYSICISTS
1 CALCULATING WITH HASKELL

    A Kinematics Problem
    The Interactive Compiler
    Numeric Functions
    Operators
        Precedence and Associativity
        The Application Operator
    Functions with Two Arguments
    Numbers in Haskell
        Negative Numbers in Haskell
        Decimal Numbers in Haskell
        Exponential Notation
    Approximate Calculation
    Errors
    Getting Help and Quitting
    More Information
    Summary
    Exercises

2 WRITING BASIC FUNCTIONS

    Constants, Functions, and Types
    How We Talk About Functions
    Anonymous Functions
    Composing Functions
    Variable Not in Scope Error
    Summary
    Exercises

3 TYPES AND ENTITIES

    Basic Types
        The Boolean Type
        The Character Type
        The String Type
        Numeric Types
    Function Types
    Summary
    Exercises

4 DESCRIBING MOTION

    Position and Velocity on an Air Track
    Types for Physical Quantities
    Introducing Derivatives
    Derivatives in Haskell
    Modeling the Car’s Position and Velocity
    Modeling Acceleration
    Approximate Algorithms and Finite Precision
    Summary
    Exercises

5 WORKING WITH LISTS

    List Basics
        Selecting an Element from a List
        Concatenating Lists
        Arithmetic Sequences
        List Types
        Functions for Lists of Numbers
        When Not to Use a List
    Type Variables
    Type Conversion
    The Length of Lists
    A String Is a List of Characters
    List Comprehensions
    Infinite Lists
    List Constructors and Pattern Matching
    Summary
    Exercises

6 HIGHER-ORDER FUNCTIONS

    How to Think About Functions with Parameters
    Mapping a Function Over a List
    Iteration and Recursion
    Anonymous Higher-Order Functions
    Operators as Higher-Order Functions
    Combinators
    Predicate-Based Higher-Order Functions
    Numerical Integration
        Introducing Integrators
        Digital Integration
        Implementing Antiderivatives
    Summary
    Exercises

7 GRAPHING FUNCTIONS

    Using Library Modules
        Standard Library Modules
        Other Library Modules
    Plotting
        Function Only
        Function and Module
        Function, Module, and Plot Definition
    Summary
    Exercises

8 TYPE CLASSES

    Type Classes and Numbers
    Type Classes from the Prelude
        The Eq Type Class
        The Show Type Class
        The Num Type Class
        The Integral Type Class
        The Ord Type Class
        The Fractional Type Class
        The Floating Type Class
    Exponentiation and Type Classes
    Sections
    Example of Type Classes and Plotting
    Summary
    Exercises

9 TUPLES AND TYPE CONSTRUCTORS

    Pairs
    Currying a Function of Two Variables
    Triples
    Comparing Lists and Tuples
    Maybe Types
    Lists of Pairs
    Tuples and List Comprehensions
    Type Constructors and Kinds
    Numerical Integration Redux
    Summary
    Exercises

10 DESCRIBING MOTION IN THREE DIMENSIONS

    Three-Dimensional Vectors
        Coordinate-Free Vectors
        Geometric Definition of Vector Addition
        Geometric Definition of Scaling a Vector
        Geometric Definition of Vector Subtraction
        Geometric Definition of Dot Product
        Geometric Definition of Cross Product
        Derivative of a Vector-Valued Function
    Coordinate Systems
        Vector Addition with Coordinate Components
        Vector Scaling with Coordinate Components
        Vector Subtraction with Coordinate Components
        Dot Product with Coordinate Components
        Cross Product with Coordinate Components
        Derivative with Coordinate Components
    Kinematics in 3D
        Defining Position, Velocity, and Acceleration
        Two Components of Acceleration
        Projectile Motion
    Making Your Own Data Type
        Single Data Constructor
        Multiple Data Constructors
    Defining a New Data Type for 3D Vectors
        Possible Implementations
        Data Type Definition for Vec
        Vec Functions
    Summary
    Exercises

11 CREATING GRAPHS

    Title and Axis Labels
    Other Labels
    Plotting Data
    Multiple Curves on One Set of Axes
    Controlling the Plot Ranges
    Making a Key
    Summary
    Exercises

12 CREATING STAND-ALONE PROGRAMS

    Using GHC to Make a Stand-Alone Program
        Hello, World!
        A Program That Imports Modules
    Using Cabal to Make a Stand-Alone Program
    Using Stack to Make a Stand-Alone Program
    Summary
    Exercises

13 CREATING 2D AND 3D ANIMATIONS

    2D Animation
        Displaying a 2D Picture
        Making a 2D Animation
        Making a 2D Simulation
    3D Animation
        Displaying a 3D Picture
        Making a 3D Animation
        Making a 3D Simulation
    Summary
    Exercises

PART II EXPRESSING NEWTONIAN MECHANICS AND SOLVING PROBLEMS
14 NEWTON’S SECOND LAW AND DIFFERENTIAL EQUATIONS

    Newton’s First Law
    Newton’s Second Law in One Dimension
    Second Law with Constant Forces
    Second Law with Forces That Depend Only on Time
    Air Resistance
    Second Law with Forces That Depend Only on Velocity
        Euler Method by Hand
        Euler Method in Haskell
    The State of a Physical System
    Second Law with Forces That Depend on Time and Velocity
        Method 1: Produce a List of States
        Method 2: Produce a Velocity Function
    Example: Pedaling and Coasting with Air Resistance
        Euler Method by Hand
        Method 1: Produce a List of States
        Method 2: Produce a Velocity Function
    Summary
    Exercises

15 MECHANICS IN ONE DIMENSION

    Introductory Code
    Forces That Depend on Time, Position, and Velocity
        A General Strategy for Solving Mechanics Problems
        Solving with Euler’s Method
        Producing a List of States
        Position and Velocity Functions
    A Damped Harmonic Oscillator
        Euler Method by Hand
        Method 1: Producing a List of States
        Method 2: Producing Position and Velocity Functions
    Euler-Cromer Method
    Solving Differential Equations
        Generalizing the State Space
        Type Classes for State Spaces
        One More Numerical Method
        Comparison of Numerical Methods
    Summary
    Exercises

16 MECHANICS IN THREE DIMENSIONS

    Introductory Code
    Newton’s Second Law in Three Dimensions
    The State of One Particle
    Solving Newton’s Second Law
    One-Body Forces
        Earth Surface Gravity
        Gravity Produced by the Sun
        Air Resistance
        Wind Force
        Force from Uniform Electric and Magnetic Fields
    State Update for One Particle
    Preparing for Animation
        Two Helpful Animation Functions
        How the Functions Work
    Summary
    Exercises

17 SATELLITE, PROJECTILE, AND PROTON MOTION

    Satellite Motion
        State-Update Function
        Initial State
        Time-Scale Factor
        Animation Rate
        Display Function
    Projectile Motion with Air Resistance
        Calculating a Trajectory
        Finding the Angle for Maximum Range
        2D Animation
        3D Animation
    Proton in a Magnetic Field
    Summary
    Exercises

18 A VERY SHORT PRIMER ON RELATIVITY

    A Little Theory
    A Replacement for Newton’s Second Law
    Response to a Constant Force
    Proton in a Magnetic Field
    Summary
    Exercises

19 INTERACTING PARTICLES

    Newton’s Third Law
    Two-Body Forces
        Universal Gravity
        Constant Repulsive Force
        Linear Spring
        Central Force
        Elastic Billiard Interaction
    Internal and External Forces
    The State of a Multi-Particle System
    State Update for Multiple Particles
        Implementing Newton’s Second Law
        Numerical Methods for Multiple Particles
        Composite Functions
    Summary
    Exercises

20 SPRINGS, BILLIARD BALLS, AND A GUITAR STRING

    Introductory Code
    Two Masses and Two Springs
        Forces
        Animation Functions
        Stand-Alone Animation Program
        Using Mechanical Energy as a Guide to Numerical Accuracy
    A Collision
        Data Representations
        Spring Constant and Time Step
        Momentum and Energy Conservation
        Numerical Issues
        Animated Results
    Wave on a Guitar String
        Forces
        State-Update Function
        Initial State
        Stand-Alone Program
        Asynchronous Animation
    Summary
    Exercises

PART III EXPRESSING ELECTROMAGNETIC THEORY AND SOLVING PROBLEMS
21 ELECTRICITY

    Electric Charge
    Coulomb’s Law
    Two Charges Interacting
        Looking at Extremes
        Modeling the Situation in Haskell
    Summary
    Exercises

22 COORDINATE SYSTEMS AND FIELDS

    Polar Coordinates
    Cylindrical Coordinates
    Spherical Coordinates
    Introductory Code
    A Type for Position
        Defining the New Type
        Making a Position
        Using a Position
    Displacement
    The Scalar Field
    The Vector Field
    Functions for Visualizing Scalar Fields
        3D Visualization
        2D Visualization
    Functions for Visualizing Vector Fields
        3D Visualization
        2D Visualization
        Gradient Visualization
    Summary
    Exercises

23 CURVES, SURFACES, AND VOLUMES

    Introductory Code
    Curves
        Parameterizing Curves
        Examples of Curves
    Surfaces
        Parameterizing Surfaces
        Examples of Surfaces
        Orientation
    Volumes
    Summary
    Exercises

24 ELECTRIC CHARGE

    Charge Distributions
    Introductory Code
    A Type for Charge Distribution
    Examples of Charge Distributions
    Total Charge
        Total Charge of a Line Charge
        Total Charge of a Surface Charge
        Total Charge of a Volume Charge
        Calculating Total Charge in Haskell
    Electric Dipole Moment
    Summary
    Exercises

25 ELECTRIC FIELD

    What Is an Electric Field?
    Introductory Code
    Charge Creates an Electric Field
        Electric Field Created by a Point Charge
        Electric Field Created by Multiple Charges
        Electric Field Created by a Line Charge
        Electric Field Created by a Surface Charge
        Electric Field Created by a Volume Charge
    Scalar Integrals
        Scalar Line Integral
        Scalar Surface Integral
        Scalar Volume Integral
    Approximating Curves, Surfaces, and Volumes
        Approximating a Curve
        Approximating a Surface
        Approximating a Volume
    Summary
    Exercises

26 ELECTRIC CURRENT

    Current Distributions
    Introductory Code
    A Type for Current Distribution
    Examples of Current Distributions
    Conservation of Charge and Constraints on Steady Current Distributions
    Magnetic Dipole Moment
    Summary
    Exercises

27 MAGNETIC FIELD

    A Simple Magnetic Effect
    Introductory Code
    Current Creates Magnetic Field
        Magnetic Field Created by a Line Current
        Magnetic Field Created by a Surface Current
        Magnetic Field Created by a Volume Current
    Summary
    Exercises

28 THE LORENTZ FORCE LAW

    Introductory Code
    Statics and Dynamics
    State of One Particle and Fields
    Lorentz Force Law
    Do We Really Need an Electric Field?
    State Update
    Animating a Particle in Electric and Magnetic Fields
        Uniform Fields
        Classical Hydrogen
    Summary
    Exercises

29 THE MAXWELL EQUATIONS

    Introductory Code
    The Maxwell Equations
        Relationships Between Electricity and Magnetism
        Connection to Coulomb’s Law and Biot-Savart Law
        State Update
        Spatial Derivatives and the Curl
        A Naive Method
    The FDTD Method
        The Yee Cell
        A Type for State
        FDTD and the Curl
        State Update
    Animation
        Current Density
        Grid Boundary
        Display Function
        Two Helping Functions
        Main Program
    Summary
    Exercises

APPENDIX: INSTALLING HASKELL

    Installing GHC
    Installing a Text Editor
    Installing Gnuplot
    Installing Haskell Library Packages
        Using Cabal
        Using Stack
    Installing Gloss
    Installing Diagrams
    Setting Up Your Coding Environment
        What We Want in a Coding Environment
        All Code in One Directory
        One Way to Use Stack
    Summary

BIBLIOGRAPHY
INDEX




نظرات کاربران