AMATH 482 Homework 3: PCA solved

$30.00

Category: You will receive a download link of the .ZIP file upon Payment

Description

5/5 - (1 vote)

On Canvas are movie files (turned into matlab files) created from three different cameras (videos are from
2011). The experiments are an attempt to illustrate various aspects of the PCA and its practical usefulness
and the effects of noise on the PCA algorithms.

• (test 1) Ideal case: Consider a small displacement of the mass in the z direction and the ensuing
oscillations. In this case, the entire motion is in the z direction with simple harmonic motion being
observed (camN 1.mat where N=1,2,3).

• (test 2) Noisy case: Repeat the ideal case experiment, but this time, introduce camera shake into the
video recording. This should make it more difficult to extract the simple harmonic motion. But if the
shake isn’t too bad, the dynamics will still be extracted with the PCA algorithms. (camN 2.mat where
N=1,2,3)

• (test 3) Horizontal displacement: In this case, the mass is released off-center so as to produce
motion in the x − y plane as well as the z direction. Thus there is both a pendulum motion and simple
harmonic oscillations. See what the PCA tells us about the system. (camN 3.mat where N=1,2,3)

• (test 4) Horizontal displacement and rotation: In this case, the mass is released off-center and
rotates so as to produce motion in the x − y plane, rotation, and motion in the z direction. See what
the PCA tells us about the system. (camN 4.mat where N=1,2,3)

In order to use PCA, you will have to extract the mass positions from the video frames. The following code
examples may be helpful to get you started.

To load the first video from test 1 and play the video using MATLAB’s video player, you can use the following
commands.
load(‘cam1_1.mat’)
implay(vidFrames1_1)

You may also find it useful to view the video by creating a loop and displaying each frame. That can be done
with the following code.

numFrames = size(vidFrames1_1,4);
for j = 1:numFrames
X = vidFrames1_1(:,:,:,j);
imshow(X); drawnow
end
Explore the PCA method on this problem and see what you find.