Tuesday August 22nd
Mathematica and Python Nanodegree cont’d…
Nanodegree
 We’re doing fun stuff like this in Python!
A movie site that shows images of movies you like, and gives descriptions
Click on the image and it will play the trailer!
 Learning about classes and objects, and how to instantiate so that they call on different objects.
Teaching myself Mathematica
 In the midst of my Nanodegree and before my C++ class continues, I thought that I should use a 15day trial of Mathematica.
Wait..what is Mathematica?

It’s a tool used for numerical computation, data visualization, primarily used by mathematicians, scientists and engineers. It is known for its precision and was invented by Stephen Wolfram.

Here is the wiki
But why?

Here is a great article on who uses Mathematica.

There is also quite an active Mathematica Stack Exchange. Do subscribe!

It’s always been something I’ve been interested in learning a bit of; I can’t put my finger on why right now.

That being said, I did finish a project early, and I only have a 15day trial, so I thought that this would be perfect timing.
So…

My beginnings were from this tutorial

I liked it so much, I bought a book on it, and plan on continuing, taking baby steps to learn.
It’s like Matlab, LaTeX and Jupyter had a baby!

Seriously, if you’re familiar with those, things will seem very familiar! It’s super fun!

I’m still learning, but here’s some of what I learned today!
Defining and getting used to Syntax
Algebra using power and subscripting (very similar to LaTeX)
\
More typesetting
 Whoops, I forgot a bracket!
Precision in calculations (this is with 30 digits of precision)
Onebased indexing
Appending to a list
Appended List with pi and finding the Length of a List
Substitution
Plotting a function
Defining the Plot Range
Adding Details to the Plot
Functions Learned
Alt+7 > Enter mode
Ctrl + ( > Math mode
Ctrl + _ > subscript
Ctrl + space > out of subscript mode
Ctrl + ^ > power
Ctrl + / > (fractions) and arrow down for denominator
Ctrl + 2 > square root
Alt + 7 > type words (not mathematical commands)
Shift + Enter > Evaluate
Alt + . > Abort Computation
a2 = N[2, 20] > 2 means 2 is numerical
and 20 is accuracy (ie 20 decimals)

onebased indexing
Length[Listname] > gives length of list

Plotting

functiontoplot = x + 5
Plot[function, {x, value, value}, PlotRange>
{range1, range2}, PlotStyle>{Thick,Color}]
Two figures overlapping > Show[Figure1, Figure2]
Things to do
 Continue with Nanodegree (finish up lessons and get to Project by end of this week..hopefully)
 Finish Application (probably will be done by Wednesday)
 Continue with Mathematica tutorials and experimentation (when you obtain book, read and work through)
Katas
 Create a pattern that looks like
1
22
333
4444
55555
 My solution
def pattern(n):
arr = ""
if n < 1:
return ""
elif n == 1:
return "1"
else:
for i in range(2, n+1):
arr = arr + "\n" + str(i) * (i)
return "1" + arr
 Find first nonconsecutive number
def first_non_consecutive(arr):
arr1 = []
arr2 = []
a = arr[0]
b = arr[1]
# find full list with no elements left out
for i in range(a, b+1):
arr1.append(i)
# find list difference between two lists
d = list(set(arr1)  set(arr))
e = sorted(d)
# value is one more than the difference
try:
return e[0]+1
# catch values where the lists are the same
except:
return None