Skip to main content

Introduction to Wolfram Mathematica

Free-form inputs

To compute, press SHIFT + ENTER

In[1]:= 3 + 9 SHIFT + ENTER

Out[1]:= 12

To suppress output, add ; after the line

In[1]:= 3 + 9; SHIFT + ENTER -> no output

You can execute multiple lines at once

In[1]:= a = 2

b = a + 2

c = b ^ 3 SHIFT + ENTER

Out[1]:= 2

Out[2]:= 4

Out[3]:= 64

Starting from now, when we have output, it means that in the end of the previous line, we press SHIFT + ENTER.

To get the most recent output, use %

In[1]:= 3 + 9

Out[1]:= 12

In[1]:= % + 5

Out[1]:= 17

Basics in Programming

Variable

A variable starts with letters. If you want, you may add numbers into the variable name. It is much better if you start the variable name with lowercase

In[1]:= myVariable123 = 2

Out[1]:= 2

Please notice how I join the two words and the number into a single word. If you put space between the variable name, it will indicate multiplication

In[1]:= x = 3;

5 x x

Out[1]:= 45

To clear the variable, use Clear function

In[1]:= x = 2

Out[1]:= 2

In[2]:= 2 x

Out[2]:= 4

In[3]:= Clear[x]

In[4]:= 5 x x

Out[4]:= \(5x^2\)

Conditional Statement

The if contains three parts i.e. test, then (what to do if true), and else (what to do if false). The syntax is as follows

If[test, then, else]

Examples

In[1]:= If[5<8, Print["5 is less than 8"], Print["5 is more than 8"]

5 is less than 8

List

List of items are indicated by { ... }

In[1]:= {1, 2, 3} * 2

Out[1]:= {2, 4, 6}

The index of the list starts from 1

In[1]:= {3, 8, 2, 9}[[3]]

Out[1]:=2

Loop

The syntax used for the loop in Mathematica is as follows

For[start, test, incr, body]

start indicate the condition when the loop is started (initialization)

test indicate the condition to check during the loop

incr indicate the increment happen on each loop

body indicate the operation done during the loop

Example:

In[1]:= For[i=0, i<4, i++, Print[i]]

0

1

2

3

If you want to add more command on each section, separate the command using semicolon ;

Example

In[1]:= For[i = 0, i < 4, i++, Print[i]; Print["hello"]]

0

hello

1

hello

2

hello

3

hello

Data Visualisation

Plot

You can plot single function using the following command

Plot[f, {x , \(x_{min}\) , \(x_{max}\) }]

Example

In[1]:=Plot[Sin[x], {x, 0, 6 Pi}]

If you want to plot more than one functions, use list in the functions

Plot[{f1, f2, ... fn}, {x , \(x_{min}\) , \(x_{max}\) }]

Example

Plot[{Sin[x], Cos[x]}, {x, 0, 6 Pi}]

Screen-Shot-2018-10-17-at-6-32-10-PM

ListPlot

ListPlot function can be used to plot points. The syntax is as follows

ListPlot[{y1, y2, ... yn}]

Example

ListPlot[{1, 3, 5}]

Screen-Shot-2018-10-17-at-6-35-02-PM

ListLinePlot

ListLinePlot can be used to plot a line through the points. The syntax is as follows

ListLinePlot[{y1, y2, ... yn}]

Example

ListLinePlot[{1, 3, 5, 8}]

Screen-Shot-2018-10-17-at-7-01-41-PM

Manipulate Commands

Manipulate is used to see the changes in the output when the input is changed

Example

Manipulate[Plot[Sin[a x], {x, 0, 6}], {a, Pi, 3 Pi}]

Screen-Shot-2018-10-17-at-7-06-55-PM

Comments

Popular posts from this blog

Find JIRA issues mentioned in Confluence Page

I have been walking through a lot of pages in internet but have not found any answer except one. However, the answer is not complete, so I will share my experience here. This feature is very useful, especially to summarize the issues found during certain tests, where the tests are reported in a confluence page. I found that there are so many questions about this, but Atlassian seems does not want to bother with this request. I found one way to do this by the following tricks Take one JIRA issue that related to the target confluence page (in this case, say it is GET-895) Find the global ID of a JIRA issue: http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink It will show the JSON like this: [{"id":28293,"self":"http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink/28293","globalId":"appId=662e1ccf-94da-3121-96ae-053d90587b29&pageId=105485659","application":{...

If and For in Wolfram Mathematica (with examples)

IF Condition in Wolfram Mathematica The syntax is as follows xxxxxxxxxx If [ condition , what to do if true , what to do if false ] Some examples Example 1. Simple command x x = - 3 ; If [ x < 0 , - x , x ] 3 Example 2. If condition in a function abs [ x_ ] := If [ x < 0 , - x , x ] abs /@ { - 3 , 2 , 0 , - 2 } { 3 , 2 , 0 , 2 }   For in Wolfram Mathematica The syntax is as follows For [ start , test , inc , what to do ] Some examples Example 1. Simple Loop xxxxxxxxxx For [ i = 0 , i < 4 , i ++, Print [ i ]] 0 1 2 3 Example 2. Another simple loop For [ i = 10 , i > 0 , i --, Print [ i ]] 10 9 8 7 6 5 4 3 2 1 Example 3. Print list a = { 10 , 3 , 9 , 2 } For [ i = 1 , i < 5 , i ++, Print [ a [[ i ]]]] 10 3 9 2  

Mininet/Containernet Problem: Exception: Error creating interface pair (s2-eth5,s3-eth1): RTNETLINK answers: File exists

If you did not shut down the previous running mininet/containernet network (e.g. if you lose your connection to remote server), you will got the following error when you try to rerun your mininet network Traceback (most recent call last): File "./mynet.py", line 31, in <module> net.addLink(d2, s1) File "build/bdist.linux-x86_64/egg/mininet/net.py", line 403, in addLink File "build/bdist.linux-x86_64/egg/mininet/link.py", line 430, in __init__ File "build/bdist.linux-x86_64/egg/mininet/link.py", line 474, in makeIntfPair File "build/bdist.linux-x86_64/egg/mininet/util.py", line 202, in makeIntfPair Exception: Error creating interface pair (d2-eth0,s1-eth2): RTNETLINK answers: File exists In order to solve the problem, you need to clean up the previous running topology by using the following command sudo mn -c It will clean up all your cache. It will be something like this $ sudo mn -c *** Re...