Skip to content

Instantly share code, notes, and snippets.

@sg-s
sg-s / matlab-basic.md
Last active February 10, 2021 21:03
Extremely basic MATLAB crash course

How to make a vector

a = [1; 2; 3]
a = [1, 2, 3] % avoid
a = zeros(10,1)
a = ones(10,1)
a = NaN(10,1)
a = linspace(0,1,10)
a = logspace(-1,1,10)
@sg-s
sg-s / data-falsehoods.md
Last active May 28, 2020 20:09
Falsehoods I beleived about real data, and the price I paid for it

The data exists

If data is split across multiple files that are sequentially numbered, then it is foolish to beleive that every file exists. Some files can go missing, or be corrupted.

Files with the same name and the same size contain the same data

I learnt the hard way that one version can be corrupted, and the other version is fine, and it's all too easy to replace to good version with the corrupted version

@sg-s
sg-s / function inverse.md
Created September 8, 2014 21:51
How to find the inverse of an arbitrary function in MATLAB

Assume you have a custom function, say, hill.m, that looks like this:

function r = hill(x,xdata)
A = x(1);
k = x(2);
n  =x(3);
r = A*xdata.^n;
r = r./(xdata.^n + k^n);
% when xdata is negative, return 0
@sg-s
sg-s / MATLAB-name-value
Last active July 14, 2017 19:36
MATLAB name value pair parsing
% options and defaults
options.foo = 1;
options.bar = 2;
if nargout && ~nargin
varargout{1} = options;
return
end
% validate and accept options
@sg-s
sg-s / matlab-data-saving.md
Created September 29, 2016 14:31
A note on saving data in MATLAB

The problem

We want to save data as it is generated, and to save it as a .mat file. Since every trial can be of a different length, a simple matrix will not suffice.

We have the following two options:

cell_data.x{1} = randn(1e4,1);
cell_data.y{1} = randn(1e4,1);
@sg-s
sg-s / browsing.md
Last active December 21, 2015 17:54 — forked from atcuno/gist:3425484ac5cce5298932
HowTo: Privacy & Security Conscious Browsing

The purpose of this document is to make recommendations on how to browse in a privacy and security conscious manner. This information is compiled from a number of sources, which are referenced throughout the document, as well as my own experiences with the described technologies.

I welcome contributions and comments on the information contained. Please see the "How to Contribute" section for information on contributing your own knowledge.

Table of Contents

@sg-s
sg-s / the-bash-guide.md
Last active December 21, 2015 17:54
A collection of various bash tips and tricks collected from various sources.

The Bash Guide

A collection of various bash tips and tricks collected from various sources. I'm writing this as I learn new stuff, so this is in no way authoritative or even corrent. In fact, you shouldn't read this.

Basics

Version, updates and installation

Check your version:

@sg-s
sg-s / frozen-random.md
Last active August 29, 2015 14:25
One line frozen noise generator in MATLAB
RandStream.setGlobalStream(RandStream('mt19937ar','Seed',1984)); 

sets the randsom stream to a particular state. (1984 because this is the most True state). Make sure you run this before every invocation of rand:

>> RandStream.setGlobalStream(RandStream('mt19937ar','Seed',1984)); 
>> rand(3)
ans =

Keybase proof

I hereby claim:

  • I am sg-s on github.
  • I am srinivas (https://keybase.io/srinivas) on keybase.
  • I have a public key whose fingerprint is 88C6 D016 6B09 8880 6BF8 F253 8C9C B698 D193 4604

To claim this, I am signing this object:

@sg-s
sg-s / cron-see-path
Created December 11, 2014 00:35
How to get cron to see the $PATH you see
echo PATH=$PATH > tmp.cron
echo >> tmp.cron
crontab -l >> tmp.cron
crontab tmp.cron