Skip to content

Latest commit

 

History

History
153 lines (83 loc) · 6.64 KB

README.md

File metadata and controls

153 lines (83 loc) · 6.64 KB

MM2090 - July-November 2019

This folder contains all of the files I had ever created during the course MM2090 that I took in the July-November 2019 semester at IITM. Feel free to try out stuff from here and use anything you need or feel will be useful.

This folder contains all the Scripts that were created for working with and learning Bash Scripting, along with some data files for the scripts to work on.

If you want to try any of them out, after cloning, first set chmod +x <scriptname> or chmod 777 <scriptname> and then ./<scriptname> to run them. They should mostly run properly.

A note on using Awk Scripts:

Awk scripts need to be run in the following way:

awk -f <awk_script_name> args

If you just run ./<awk-script-name>, it generally won't work.

Descriptions of some selected bash and awk scripts:

This is a script to randomize the cowsay command along with the fortune command to show a random cowfile saying a random fortune cookie quote.

To use this, you need to install the fortune and the cowsay packages.

This file will generate a "squares.csv" file containing numbers from 1 to 1500 in the first column, their squares in the second column, and their cubes in the third column.

You can modify this script to create any type of data that you need.

This Shell Script was meant to be able to plot the output of a damped spring, but I never got round to finishing it. See if you can finish it, maybe using some Python to complete the work. Bonus points if you're able to finish it completely using bash itself.

This script generates the values for a damped oscillator having $1 samples, and a damping constant as specified in $2.

The output is sent to a file oscillator.txt

Use this file in plotter.sh if you decide to complete it.

awk -f adder.awk $1 (optional argument)

Supply no command line arguments and run script. Enter 3 values separated by commas, and keep going until you want to stop.

When you do want to stop, enter Ctrl+D to send an End of File character and end the script. This will print out the averages of each of the columns.

If you run this script with the squares.csv file generated before, you can get the average of the values, their squares and their cubes in this output.

awk -f scriptx.awk RollList.csv

This provides some statistics on the students given in the RollList.csv file.

Run as either awk -f scriptx.awk RollList.csv or cat RollList.csv | awk -f RollList.csv

Read this script properly for learning awk scripting.

This creates an empty script at the given location and opens it in vim. Edit this script before running it for proper behaviour.

awk -f fibonacci.awk $1

This produces the fibonacci sequence up to $1 terms.

The Homework PDFs and Homeworks folders contain all the Homework that was submitted for each assignment given to us.

See internal readme file.

This has a number of Jupyter notebooks, mostly created during the classes and while solving homework.

Note on Sage Notebooks:

Sage notebooks tend to not render properly on GitHub directly, pull/clone the repo locally to see them properly.

Descriptions of selected notebooks:

A short example on using the mplot3d submodule of matplotlib to make 3D plots. Also, some information on different types of computing (symbolic vs numeric etc.)

A few examples on using contour plots with some short explanations.

This explains the basics of the finite difference method in simple markdown. No code is provided here.

This is an introduction to using SageMath with some explanations in the Markdown cells. It was used while learning basic SageMath.

An example notebook containing only markdown to learn the syntax and effectively use basic markdown. Provided by professor Phanikumar

An attempt at taking multiple integrals in SageMath. Useful to learn the syntax and procedure for taking a multiple integral in Sage.

Explore the wonder of using a Jupyter Notebook for the first time...

It might just make you cringe, or laugh, depending on how you see it :D

An example of plotting multivariable functions in 3D and higher spaces in Sage.

This introduces the use of LaTeX in Jupyter notebooks, which makes them extremely useful for scientific computing and a form of programming known as Literate Programming, which is basically having executable code and docuementation and explanations in the same file.

Sierpinski Triangle generator. Try making this yourself before seeing the code for this one.

Session-x.ipynb

These are notes taken during sessions. Links to each:

Session-14 Session-15 Session-16 Session-17 Session-18 Session-19 Session-20 Session-21

Some C programs and a Makefile. Made while learning MakeFiles

Contains notes provided by professor Phanikumar for each of the sessions conducted. Definitely worth a read, especially when in a tough spot.