54

Absolutely! The questions here often depend on advanced math because Mathematica can be a very useful tool for doing more advanced mathematics, but that's hardly the only thing it's good for. I got a copy of Mathematica as a birthday gift from my grandparents when I was only a couple years older than you are. Like you, I was interested in programming and ...


35

Only if taken with a grain of salt. First of all, no man cries stinking fish (according to the first Google hit this is the translation of a saying that literally goes "do not ask the innkeeper if his wine is good"). In here you will find mostly - if not only - Mathematica enthusiasts, so the answer to your question will most certainly be "Hell yeah!!!". ...


31

Starting a brain dump of ideas, listening to my inner monologue. Please feel free to edit and add suggestions. Here is a list of most operators. | sym | example | pronunciation | votes, comments, rants |––––––|–––––––––––––|–––––––––––––––––––––––––––––––––––––|––––––––––––––––––––––––– | :: | x::y | x says y ...


26

Imho some important things to translate between Matlab and Mathematica: "everything is a matrix (or inefficient)" vs. "everything is an expression" indexing into arrays: : vs. All indexing into arrays: j:i:k vs. j;;k;;i constructing ranges: j:i:k vs. Range[j,k,i] column-major vs. row-major!: mat(:) vs. Flatten[Transpose[mat]] or (mat')(:) vs. Flatten ...


24

Mathematica is the best tutorial. It is a discovery tool - just start from something that he knows a bit already and you both take one little step at a time. Just try things. 1st Thing - Try this Link => Hands-on Start to Mathematica I personally would recommend engaging with him in a project of making an application and submitting it to the Wolfram ...


22

You could try using SpokenString: SpokenString[HoldForm[x + y /. x->2]] "x plus y slash dot x goes to 2" Addendum If you don't mind messing with internal functions, it is possible to customize the output of SpokenString. For this purpose, it is convenient to make use of my ExtractDownValues function reproduced below: SetAttributes[ExtractDownValues,...


17

You can do this rather nicely with GeometricScene. scene = GeometricScene[ {a, b, c, d, e, f, g, h, i, j, k, l, m, n}, {RegularPolygon[{a, b, c}], RegularPolygon[{b, d, c}], RegularPolygon[{b, e, d}], RegularPolygon[{a, f, e}], RegularPolygon[{f, g, e}], RegularPolygon[{g, h, d}], RegularPolygon[{c, h, i}], RegularPolygon[{a, i, j}], ...


16

Affirming Vitaliy's suggestions I'll say something beyond his comprehensive answer and to a certain extent more specific. A great mathematician S.Banach used to say (maybe as a joke) that children shouldn't be taught mathematics early because that would be a too sharp tool for them. There is an obvious analogy and this is why children shoudn't be taught ...


16

One unconventional but possibly very useful approach it to introduce him to Project Euler. While many of the newer questions are completely beyond me (mind you that is not saying much), many of the earlier ones are quite approachable. If your friend has the desire to learn and an interest in puzzles/challenges, this site will grow as he grows. Most of the ...


16

There are available free sources to get started and learn how to use Mathematica. Take advantage of the Wolfram Programming Lab. It is an interactive way of learning the wolfram language. https://lab.wolframcloud.com/app/ You can also set an account and get free access to the wolfram cloud. https://mathematica.wolframcloud.com/app/ 2015: Take advantage ...


15

Vitaliy's suggestion is indeed very good. What I want to add is that the Documentation is a good place to start. Say he's interested in drawing some graphs to illustrate something, then the Guide page for Graphs is a great place to start and the reference pages have tons of examples to build from. Once one has solved a problem or two with Mathematica it'...


15

Comments like (* blah *) are not expressions. ToExpression["(* blah *)"] returns Null. Furthermore, anything that is syntax (e.g. +) is not a complete expression. For ToExpression["+"] You will get a Syntax::sntxi: Incomplete expression; more input is needed .


14

28/2/2018: Wolfram Cloud now supports (quite possibly since several years ago) cross origin requests, so that part of this answer can be ignored. Ajax may be used, just remember to set the API permissions to "public". Support for the mechanism that makes the CDF browser plugin possible is being phased out, and the CDF player already does not work on the ...


13

I started using Mathematica at age 60. I have to say that becoming fluent in Mathematica (then not yet called the Wolfram Language) was one of the hardest, and most fun, technical challenges I've ever undertaken. Learning to express my not-so-great existing math understanding in this rather mysterious Lisp-like language was a huge amount of work. Today, ...


13

Draft - writing took longer than I thought, and I'm late for class... I've given this question a lot of thought, and while I'm not overly convinced that my reflections are useful to a wide audience, they might be insightful to some. (At the very least, it provides me with a rationale to sit and organize my own thoughts.) Know your pedagogy Learning ...


13

You were correct. NestList is exactly the function you want to use. NestList[Dot[A, #]&, x0, 5] (* {{2, 0}, {1., 1.5}, {-0.4, 2.4}, {-1.64, 2.34}, {-2.224, 1.344}, {-1.9184, -0.1896}} *) Note that the first argument of NestList must be a function.


13

In Mathematica, assumptions are not bound to variables itself. You can use $Assumptions or you can use the option Assumptions to certain functions, which will then try to incorporate the knowledge into their result. Some functions like Simplify let you specify assumptions directly as an argument. See the following: Simplify[Re[f]] (* 5 + Re[(1 + I) d] *) ...


12

I started learning Mathematica a couple of months ago, and all these suggestions are good. I'd also say that, although it's possible to surround yourself with books and tutorials, it's even more important to have some focus or goal to give shape to your learning efforts. You can find yourself bouncing from one interesting corner to the next (particularly ...


11

This is how I would implement the geometry demonstration you want to make. Perhaps it will work for you too. With[{color = RGBColor[0.45, 0.75, 1.0]}, Manipulate[ GraphicsRow[ {Graphics[ {EdgeForm[Black], FaceForm[White], Polygon[CirclePoints[{1, 0}, n]], FaceForm[color], Triangle[pts]}], Graphics[ {EdgeForm[Black]...


10

I know this is an old thread now, but this might prove useful to someone. I have been teaching Mathematica to high school students for almost a year now. I have had to make my own resources, as I couldn't find any that were fit to purpose. I am happy to share them, and here is the Dropbox link: Mathematica Exercises All mistakes are my own! I am also happy ...


10

This page could be quite interesting in your case http://education.wolfram.com/algebra/ The animations here explain some common Mathematica functions in a quite funny way. http://reference.wolfram.com/legacy/flash/ There's a huge list of other resources here where you could pick what you think suits you. Where can I find examples of good Mathematica ...


10

Your can use MatrixPower for this example: f[n_] := MatrixPower[{{.5, -.6}, {.75, 1.1}}, n].{2, 0} f /@ Range[0, 5] yields: {{2., 0.}, {1., 1.5}, {-0.4, 2.4}, {-1.64, 2.34}, {-2.224, 1.344}, {-1.9184, -0.1896}}


10

Few resources I always liked this Wolfram site http://reference.wolfram.com/legacy/flash/ It has the most commonly used functions, and it animates each one also to help learn how it works. Need Flash to run the animations WolfLang Tip at twitter always have small good examples https://twitter.com/MathematicaTip Alphabetical Listing of all Mathematica ...


10

NestList[x \[Function] 2 x + 4, {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, 100]


9

Here is something to get you started: The idea is to use a 2D cross section of the orifice plate in the xz-direction (not the xy-direction, as then you could not apply the surface force). a = 10*10^-3; b = 5*10^-3; ν = 1/3; p0 = 0.1*10^6; Ey = 200*10^9; h = 1*10^-3; De = (Ey h^3)/(12 (1 - ν^2)); planeStrain = {Inactive[Div][{{0, -((Ey*ν)/((1 - 2*ν)*(1 + ν)...


9

Here is a basic example of how Mathematica code would be deployed. Get["http://exampledata.wolfram.com/Collatz.m"]; ?? Collatz Collatz[5] {5, 16, 8, 4, 2, 1} You can look into APIFunction that you access directly if you want to build an interface with HTML/Javascript, or if you want a simple interface running on Wolfram's cloud you can use FormFunction....


9

You need UpTee: UpTee[x, y] or x \[UpTee] y or, using the input alias, x ESC uT ESC y x ⊥ y


9

When a language, e.g., Python, not emphasizing but has to talk about "functional programming", usually it speaks about three functions: map, filter and reduce. I always think comparison a good approach to learn things, so below I share the comparison I made before. Besides, Function (&) vs lambda, Array, Table vs "list comprehensions" (Table has been ...


8

University of Southern Maine has some Mathematica based courses: Engineering Tools: Mathematica (notebooks) Circuits I: Steady-State Analysis (notebooks) Digital Signal Processing (notebooks) Digital Image Processing (notebooks)


8

A pioneering web site in this respect is the one by James Kelly, who unfortunately passed away in 2007 as the linked web page states. His lecture notes are very high quality and all written as notebooks.


Only top voted, non community-wiki answers of a minimum length are eligible