The WeakReference class, monitoring memory leak and garbage collection in a Java application

Image
 Below is a Stack implementation that uses an internal resizeable array structure.  public class MyStack< T > implements Stack< T > { private static final int CAPACITY = 100 ; private Object[] array ; private int pos = 0 ; public MyStack () { this . array = new Object[ CAPACITY ] ; } @Override public void push ( T item) { if ( pos >= array . length / 2 ) { Object[] newArray = new Object[ pos * 2 ] ; System. arraycopy ( array , 0 , newArray , 0 , array . length ) ; array = newArray ; } array [ pos ++] = item ; } @Override public T pop () { if (isEmpty()) { throw new RuntimeException( "empty stack" ) ; } @SuppressWarnings ( "unchecked" ) T item = ( T ) array [ pos - 1 ] ; pos -= 1 ; return item ; } @Override @SuppressWarnings ( "unchecked" ) public T peek...

Do you speak MATLAB?

MATLAB is a programming platform designed specifically for engineers and scientists. I first used it for a masters degree course on image processing. And now, I'm looking at it for the purpose of machine learning. Now lets remember what we can do with it:
Matlab has a command line and also you can save your scripts as .m files. You should define your functions and save them as .m files.

Note: If you put a semicolon to the end of the expression, the output is not shown in the console.

Lets create a 3 x 3 matrix:

A = [1, 2, 3; 0, 0, 0; -1, -1, -1]

Lets create a vector:

V = [2, 3, 6, 7]

Lets create a column vector:

V = [2; 3; 4; 5]


Lets draw a diagram with some values:

X = [1,2,3,4,5];
Y= [0,-1,3,4,8];
plot(X,Y)

How to define a function?

function y = myFunction(x)
    y = x^2 + x + 1;
end

From command line:

result = myFunction(6);

Lets create a uniformly spaced vector. 

V1 = 1:10
V2 = 1:10
plot(V1, V2)

We can also specify the interval:

A = 0;
B = 100;
C = A : 10 : B;

Be cautious about using whether matrix operator or element-wise operator:
In other words, there is a difference between ^ and .^  operators. The latter is the element wise power.

x = -2 : 0.1 : 2;
y = x.^2 + x + 1;
plot(x,y)

Commands for saving and loading data

"who" command shows the defined variables
"whos" command shows the variables and their properties (size etc.)

Lets save a variable, clear it and then load it again:

A = [1, 2, 3: 4, 5, 6];
who
save myVariables.mat A;
clear A;
load myVaribles.mat;
who
whos

Lets append a column to an existing matrix:

A = [1,2,3 ; 4,5,6]
A = [A , [0;0]]

Lets concatanate two matrices:

A = [10 20; 30 40]
B = [0 0 ; 0 0]
C = [A B]
D = [A ; B]

Element wise square:

E = A .^ 2

Matrix multiplication and element-wise multiplication

B = [1, 2 ; 3, 4]
A * B
A .* B

Comments

Popular posts from this blog

Trie Data Structure and Finding Patterns in a Collection of Words

My Crappy Looking Solution to "Binary Tree Common Ancestor" Problem

A Graph Application in Java: Using WordNet to Find Outcast Words