#!/bin/sh

histbins=30

# pca
echo ""
echo "Calculating principal components..."
analyze -d hidden.df -InputsXdim 24  -InputsYdim 1 -TargetsXdim 1 -TargetsYdim 1 -pca -range 2 -P sonar

am2gnuplot < sonar.1.pc > sonar.1.pc.pdat
am2gnuplot < sonar.2.pc > sonar.2.pc.pdat

echo "Projecting hidden unit vectors thru 1st 2 pcs..."

echo "Rocks..."
analyze -d hidden_rocks.df -InputsXdim 24  -InputsYdim 1 -TargetsXdim 1 -TargetsYdim 1 -project -histogram $histbins -2 2 -range 2 -P sonar
am2ascii < sonar.pc.norm.hst > pca.rocks.hst
am2ascii < sonar.pc.prj > pca.rocks.prj

echo "Mines..."
analyze -d hidden_mines.df -InputsXdim 24  -InputsYdim 1 -TargetsXdim 1 -TargetsYdim 1 -project -histogram $histbins -2 2 -range 2 -P sonar
am2ascii < sonar.pc.norm.hst > pca.mines.hst
am2ascii < sonar.pc.prj > pca.mines.prj

# cda
echo "Calculating canonical variates..."
analyze -d hidden.df -InputsXdim 24  -InputsYdim 1 -TargetsXdim 1 -TargetsYdim 1 -cda -range 2 -P sonar

am2gnuplot < sonar.1.cv > sonar.1.cv.pdat
am2gnuplot < sonar.2.cv > sonar.2.cv.pdat

echo "Projecting hidden unit vectors thru 1st cv..."
analyze -d hidden_rocks.df -InputsXdim 24  -InputsYdim 1 -TargetsXdim 1 -TargetsYdim 1 -project -histogram $histbins -2 2 -range 2 -P sonar -S cv
am2ascii < sonar.cv.norm.hst > cda.rocks.hst
am2ascii < sonar.cv.prj > cda.rocks.prj

echo "Mines..."
analyze -d hidden_mines.df -InputsXdim 24  -InputsYdim 1 -TargetsXdim 1 -TargetsYdim 1 -project -histogram $histbins -2 2 -range 2 -P sonar -S cv
am2ascii < sonar.cv.norm.hst > cda.mines.hst
am2ascii < sonar.cv.prj > cda.mines.prj


# plot it with gnuplot3.0
echo "This may not work if you do not have gnuplot 3.0"
echo
echo "When I do this...projection thru the 1st cv separates the data"
echo "better than the projection thru the 1st pc"
gnuplot analyze.gnu
