Mathematica 学习资源1

来源:互联网 发布:软件测试具体项目 编辑:程序博客网 时间:2024/06/04 21:29

原文在这里

A collection of Mathematica learning resources -- Part I

Introduction

  • If you're just beginning try to have a look at these videos.
    Mathematica Basics,Elementary Programming in Mathematica
    Hands-on Start to Mathematica
    Several introductory videos by Jon McLoone
    and many other Video introductions and tutorials from the official Wolfram website
  • Is it necessary to have a prior computational background or is it possible to learn Mathematica as a first programming language?
  • What are the most common pitfalls awaiting new users?
  • How To-s: full solutions for particular tasks from the online documentation
  • Easy-to-understand animations explaining commonMathematica functions
  • Sal Mangano's videos for using pure functions, Part and patterns
  • Introductory videos of various applications ofMathematica
  • What is the best Mathematica tutorial for young people?

Basic advices for people new to Mathematica

Functional style

Avoid iterative programming using loops like For or Do, use insteadfunctional programming functionsMap,Scan,MapThread,Fold,FoldList,... and pure functions. This makes the code cleaner and faster.

  • Functional Programming,Functional Programming: Quick Start
  • Pure functions
    What does # mean in Mathematica?
  • Alternatives to procedural loops and iterating over lists in Mathematica
  • An example: Programming a numerical method in the functional style
  • How to understand the usage of Inner and Outer figuratively?

Transpose and dimensions

  • Something not easy to guess alone at the beginning: if you have x={1,2} and y={3,4}, doing Transpose[{x,y}] or {x,y}ESC tr ESC in the front end will produce {{1,3},{2,4}} (format compatible with ListPlot). Thisanimation helps understand why.
  • You can also use the second argument of Transpose to reorder the indices of a multidimensional list.
  • Don't forget to regularly control the output of the lists you generate using Dimensions.

Get familiar with shorthand syntax (@, &, ##, /@, /., etc.)

  • Operator Input Forms
  • when is f@g not the same as f[g]?

Programming easily

  • Getting help: Execute ?Map for example for a short description of a function, or press F1 on a function name for more details and examples about it. You can solve many problems by adapting examples to your needs.
  • Auto-completion: Start typing the name of a function and (in Mathematica 9+) select from the pop-up auto-completion menu, or press Ctrl+k to get a list of functions which names start with what has already been entered. Once the name of the function is written completely press Ctrl+Shift+k (on Mac, Cmd+k) to get a list of its arguments.
  • Function templates: In Mathematica 9, after typing a function name, press Ctrl+Shift+k (on Mac, Cmd+Shift+k) and click on the desired form from the pop-up menu to insert a template with named placeholders for the arguments.

Other useful shortcuts are described in the post Using the Mathematicafront-end efficiently for editing notebooks.

  • Use palettes in the Palettes menu especially when you're beginning.
  • In Mathematica 8, use the natural input capability of Wolfram Alpha, for example type "= graph 2 x + 1 between 0 and 3" without the quotes and see the command associated with the result.

Tutorials

  • Fundamentals ofMathematica Programming (by Richard Gaylord, great tutorial for an overview of the logic behindMathematica: patterns)
  • Introduction to Mathematica (by Thomas Hahn, another succinct overview of Mathematica)
  • Tutorial Collection by WRI (lots of extra documentation and examples, available as free PDFs, also available and up-to-date inHelp > Virtual Book in Mathematica).
  • Programming Paradigms via Mathematica (A First Course)
  • Mathematica Tutorial: A New Resource for Developers
  • Wolfram's Mathematica 101
  • http://bmia.bmt.tue.nl/Software/Downloads/Campus/TrainingMathematicaEnglish.zip
    http://bmia.bmt.tue.nl/Software/Mathematica/Tutorials/index.html
  • A problem centered approach
  • A beginner's guide to Mathematica
  • http://math.sduhsd.net/MathematiClub/tutorials.htm
  • http://www.austincc.edu/mmcguff/mathematica/
  • http://www.mtholyoke.edu/courses/hnichols/phys303/
  • http://www.apam.columbia.edu/courses/ap1601y/ (Introduction to Computational Mathematics and Physics)
  • http://ftp.physics.uwa.edu.au/pub/MATH2200/2012/Lectures/ (Applied Mathematics)
    http://ftp.physics.uwa.edu.au/pub/MATH2200/2009/Lectures (path for some lectures in pdf)
  • http://en.wikibooks.org/wiki/Mathematica
  • http://www.cs.purdue.edu/homes/ayg/CS590C/www/mathematica/math.html (Basic tutorial)
  • http://stackoverflow.com/questions/4430998/mathematica-what-is-symbolic-programming (What is symbolic programming)
  • http://www.cer.ethz.ch/resec/people/tsteger/Econ_Model_Math_1.pdf
  • http://www.physics.umd.edu/enp/jjkelly (An introduction to Mathematica as well as some physics courses)
  • Do you know of any web-based university course that is entirely Mathematica based?
  • http://homepage.cem.itesm.mx/jose.luis.gomez/data/mathematica (Tutorials in spanish)
  • Mathematica programming (some examples of the various programming paradigms that can be used in MM)

FAQ

  • http://12000.org/my_notes/faq/mma_notes/MMA.htm (FAQ)
  • http://stackoverflow.com/questions/tagged/mathematica?sort=faq&pagesize=15 (FAQ on StackOverflow)
  • http://mathematica.stackexchange.com/questions?sort=faq (FAQ on this site)
  • http://www.mathematica-users.org/webMathematica/wiki/wiki.jsp?pageName=FAQs
  • http://library.wolfram.com/conferences/conference98/Lichtblau/SymbolicFAQ.nb (Symbolic FAQ)

Books

  • Stephen Wolfram's The Mathematica Book (online, version 5.2), available for free
  • Mathematica programming: an advanced introduction (online) by Leonid Shifrin, available for free
  • Tutorial Collection by WRI (lots of extra documentation and examples, available as free pdfs, also available and up-to-date inHelp > Virtual Book in Mathematica).
  • Mathematica Cookbook by Sal Mangano (O'Reilly, 2010)
  • Mathematica in Action by Stan Wagon (Springer, 2010)
  • Mathematica: A Problem-Centered Approach by Roozbeh Hazrat (Springer, 2010)
  • Mathematica Navigator by Heikki Ruskeepaa (Academic Press, 2009)
  • The Mathematica GuideBooks (for Programming, Numerics, Graphics, Symbolics) by Michael Trott (Springer, 2004-2005)
  • An introduction to programming with Mathematica by Paul R. Wellin, Richard J. Gaylord and Samuel N. Kamin (Cambridge University Press, 2005); contains an example of Domain Specific Language (DSL) creation.
  • Mastering Mathematica by John W. Gray (Academic Press, 1997)
  • Programming in Mathematica by Roman Maeder (Addison-Wesley Professional, 1997)
  • Programming with Mathematica®: An Introduction by Paul Wellin (Cambridge University Press, 2013)
  • Power Programming With Mathematica: The Kernel, by David B. Wagner (Mcgraw-Hill, 1997), out of print but scanned copy availablehere.
  • http://blog.wolfram.com/2014/01/10/read-up-on-mathematica-in-many-subjects

Wolfram Websites

Learn

  • http://www.wolfram.com/broadcast/
  • http://www.wolfram.com/training/courses (Online video courses, most are free)
    http://www.wolfram.com/training/special-event/ (Links to videos of past conferences)
  • Slides of seminars
  • http://www.youtube.com/user/WolframResearch

Examples

  • http://demonstrations.wolfram.com
  • How To-s
  • http://www.wolfram.com/mathematica/new-in-8
    http://www.wolfram.com/mathematica/new-in-9
    http://www.wolfram.com/mathematica/new-in-10/
    http://www.wolfram.com/training/special-event/new-in-mathematica-10/
  • A plot gallery for Mathematica 9
  • http://www.wolfram.com/language/
    http://www.wolfram.com/language/fast-introduction-for-programmers

Resources

  • http://www.wolfram.com/mathematica/resources
  • http://library.wolfram.com/ (Great amount of resources here)
  • http://support.wolfram.com/kb/topic/mathematica (Knowledge base)
  • http://www.mathematica-journal.com
  • Help
    Help > Virtual Book
  • http://www.wolfram.com/support/learn/
  • http://www.wolfram.com/books/
  • http://reference.wolfram.com
  • ++Mathematica http://reference.wolfram.com/language

Blogs

  • http://community.wolfram.com
  • http://blog.wolfram.com
  • http://blog.wolframalpha.com
  • http://blog.stephenwolfram.com
  • http://twitter.com/#!/mathematicatip

Other related sites

  • http://www.mathematica25.com
    SMP
    http://blog.stephenwolfram.com/2013/06/there-was-a-time-before-mathematicahttp://blog.stephenwolfram.com/data/uploads/2013/06/SMPHandbook.pdf
  • http://www.wolframalpha.com
  • Wolfram Science: the official site of Stephen Wolfram's New Kind of Science
    NKS forum
    Lecture notes from NKS summer schools
    Programs from the notes
    Demonstrations
  • http://computerbasedmath.org/
  • http://education.wolfram.com (Some interactive basic math courses, useful for curious young people)
  • http://www.wolfram.com/webresources.html (otherMathematica related sites)

Virtual conferences

  • http://www.wolfram.com/events/virtual-conference/spring-2013
  • http://www.wolfram.com/events/virtual-conference/2012
  • http://www.wolfram.com/events/virtual-conference/2011

Mathematica one liner competition

  • http://www.wolfram.com/events/techconf2010/competition.html
  • http://www.wolfram.com/events/technology-conference/2011/one-liners.html
  • http://www.wolfram.com/training/special-event/mathematica-experts-live-one-liner-competition-2012

Wolfram technology conferences

  • 2014,http://www.wolfram.com/events/technology-conference/2014
  • 2013,http://www.wolfram.com/events/technology-conference/2013
  • 2012,http://www.wolfram.com/events/technology-conference/2012
  • 2011,http://www.wolfram.com/events/technology-conference/2011
  • 2010,http://www.wolfram.com/events/techconf2010
  • 2009,2007,2006,2005, 2004, 2003, 2001, 1999, 1998, 1997, 1994, 1992
  • http://library.wolfram.com/infocenter/Conferences/

Blogs

  • http://mathematica.blogoverflow.com/
  • http://mathematica-bits.blogspot.com/ (Blog of Yaroslav Bulatov dedicated to graph theory)
  • http://12000.org (Blog of Nasser M. Abbasi)
  • http://blog.matthen.com/ (Various interesting demos by Matt Henderson)
  • http://ibnhconsulting.blogspot.co.uk (Blog of Mike Honeychurch)
  • http://textanddatamining.blogspot.com/ (Blog about data mining in texts)
  • http://shuisman.com (Blog partly about Mathematica)
  • http://mathgis.blogspot.com/ (Lunchtime playground)
  • http://mathematics-diary.blogspot.com (Blog of Nilo de Roock)
  • http://www.walkingrandomly.com (Blog about scientific programming languages)
  • http://rip94550.wordpress.com/ (Rip’s Applied Mathematics Blog, Mathematica is used to demonstrate various concepts of graduate level)
  • http://mathematica-guide.blogspot.co.uk/ (Blog of Kris Carlson)
    I liked this post: Functional-Procedural Fusion, this function is useful for this style of programming: MapEach[function_]:=(function/@#)& (for example: {1,2}//MapEach[2 #&])
  • http://mathematicanews.blogspot.co.uk/

Personal websites

  • http://math.sduhsd.net/MathematiClub/ (Games, various interesting notebooks)
  • http://www.theodoregray.com/BrainRot/ (Conversation with Theodore Gray one of the historical developer of Mathematica)
  • http://www.dbaileyconsultancy.co.uk/ (Super Widget Package, can be interesting, but using Dynamic with built-in Mathematica GUI components is now easier)
  • http://www.verbeia.com/mathematica/code.html (Various interesting links to other packages)
  • http://www.mathematica-users.org (Mathematica users wiki)
  • http://katlas.org/wiki/Main_Page (Knot Atlas, package available)
  • http://www.weber-und-partner.com/resources (Some applications to mathematical finance, package working as an interface to Quantlib)
  • http://home.comcast.net/~djmpark/Mathematica.html (Site of David Park, Expression manipulation and some interesting packages)
  • http://www.mathestate.com (Site about finance, with some links to demonstrations)
  • http://library.wolfram.com/infocenter/Conferences/8073/ (A formal approach for modeling and simulation)
  • http://www.bugman123.com/ (Paul Nylander)
  • http://vimeo.com/groups/mathematica/videos (Some cool videos in 3D made with MM)
  • http://pages.uoregon.edu/noeckel/MathematicaGraphics.html (Creating an Post-Processing Mathematica Graphics (on Mac OS X))
  • http://www.lauschkeconsulting.net (Some interesting (non free) packages, like JavaTools which provides Mathematica links to Scala, C# and F#)
  • http://www.oftenpaper.net/sierpinski.htm (Very cool pictures and math using Mathematica, code available)
  • http://dev.ragfield.com/ (Useful Mathematica scripts among others. Connection with iTunes,Twitter, YouTube, Font outlines,Mapping GPS Data are some of them)
  • http://mathematicaforprediction.wordpress.com (Package on natural language processing)

Calculus

  • http://www.wright.edu/~richard.mercer/Calculus/Lab/Download/index.html (Various notebooks about mathematics)
  • https://sites.google.com/site/calcuplus/ (Introductory calculus course with CDF demos)
  • http://library.wolfram.com/infocenter/TechNotes/6111/ (Numerical analysis, code of a lot of common numerical methods)

Resources on other languages

  • Having used Mathematica as a "gateway" language, where to from here?
  • Online interpreters can be found here Online-REPs-and-REPLs in order to test ideas in a lot of different languages.
    https://c9.io (Cloud 9)
  • This resource is very useful for common languages like Java, C++ or VBA
    http://www.java2s.com
  • C++ reference books
  • Tutorials on a lot of current technologies (but Mathematica is missing there ...)http://www.tutorialspoint.com
  • http://rosettacode.org/wiki/Mathematica (Several algorithms in Mathematica together with other languages)
  • http://www.cheat-sheets.org (Cheat sheets for a lot of languages)
  • Wikibooks, can be handy for a quick reference on many languages.
  • The Archive of Interesting Code
  • dGSD, a great tool for organizing your projects and knowledge (Based on TiddlyWiki, a wiki stored in a single html file).
  • Alternatives to Mathematica
  • google-styleguide

Forums

MathGroup

  • https://groups.google.com/group/comp.soft-sys.math.mathematica
    http://www.mathkb.com/Uwe/Forums.aspx/mathematica/201107/1
    http://forums.wolfram.com/mathgroup/

Stack... sites

  • Mathematica questions on StackOverflow
  • Mathematica.StackExchange (look at "favorites" in the profiles of active users for reading past interesting answers)
  • Mathematica questions on StackExchange: all questions taggedmathematica on the StackExchange network

Links to some packages

  • What third-party packages do you use?
  • http://www.xact.es/index.html (Open source tensor package suite)
    also see this post Differential geometry add-ons for Mathematica and Tensor analysis
  • FeynRules by Neil D. Christensen, Claude Duhr & Benjamin Fuks (latest version: 1.6.0, package to calculate Feynman rules)
  • Automatic physical units, by Jon McLoone (2010, available from the Wolfram Library Archive)
    http://library.wolfram.com/infocenter/MathSource/7655/
  • NCAlgebra (Non Commutative Algebra Package)
  • Sym (Symmetry analysis of differential equations)
  • Some packages written by Leonid Shifrin
    http://www.mathprogramming-intro.org/additional_resources.html
    https://gist.github.com/lshifr
  • Various links to common websites (Google, Amazon,...), financial data, and some useful functions for manipulating time series.https://github.com/fmeinberg?tab=repositories

Packages for preparing publication-quality scientific figures

  • LevelScheme by Mark Caprio (latest version: 3.52, Sep 2011, forMathematica 6 and higher)
  • Presentations and other packages by David Park (latest version: 25 Aug 2011)
  • A WorkLife Framework by Scientific Arts LLC (extendable and customizable toolset that broadensMathematica's scope across many aspects of daily work)
  • FeynArts by Thomas Hahn (latest version: 3.7, 27 Mar 2012, package for generation and visualization of Feynman diagrams and amplitudes)
  • Writing and Publishing a Book withMathematica by Paul R. Wellin (2005, available from the Wolfram Library Archive)

Useful non-free tools for development, deployment,distribution, linking, etc.

  • Workbench by WRI, current version: 2 (officialMathematica IDE based on Eclipse, great for projects involving several packages and generating integrated documentation)
  • webMathematica by WRI, current version: 3 ("Deploy high-powered applications as interactive websites")
  • gridMathematica by WRI, current version: 8 ("Easily control CPUs and GPUs to solve large problems fast")
  • SystemModeler by WRI, current version: 3. Integrated symbolic modelling platform.Some related links:MathModelicaPaper,ObjectMath,Modelica,OpenModelica
    How to do System dynamics simulations / diagrams in Mathematica?
  • Finance Platform by WRI, current version: 1. Includes option pricing, risk analysis, enterprise system development, and interactive reporting
  • Mathematica Applications and Add-Ons (all add-ons marketed via WRI, related toMathematica)
  • MathematicaLink for Excel by Episoft, Inc., current version: 3.5 (links MicrosoftExcel withMathematica)
0 0
原创粉丝点击