%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Sean Semper System Identification
%/ Sumit Tripathi
% Project Code 3 MAE 566
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Created Spring 2009 %
% Last Modified: 05/6/09 %
% Wind speed VS Power graph for different range of speeds
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear all
close all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% time% nobs avg_rpm avg_powero avg_powerr avg_windspeed
load min_avg_0309_less5.txt
data = min_avg_0309_less5;
in_num = 5; % Input Index
out_num = 4; % Output Index
in_out_ind = [in_num, out_num];
u = data(:,in_num);
y1 = data(:,out_num);
t = 1:length(u);
clear data min_avg_0309_less5
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
h = [ones(length(u),1), u, u.^2, u.^3 ];
kW1 = pinv(h)*y1
y_est1 = kW1(1)*h(:,1) +kW1(2)*h(:,2) + kW1(3)*h(:,3) +kW1(4)*h(:,4);
figure(1)
plot(u,y1,u,y_est1,'r.')
title('2.5 m/s < Windspeed < 5 m/s')
u1=u;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear h u
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% time% nobs avg_rpm avg_powero avg_powerr avg_windspeed
load min_avg_0309_grt5less10.txt
data = min_avg_0309_grt5less10;
in_num = 5; % Input Index
out_num = 4; % Output Index
in_out_ind = [in_num, out_num];
u = data(:,in_num);
y2 = data(:,out_num);
t = 1:length(u);
clear data min_avg_0309_grt5less10
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
h = [ones(length(u),1), u, u.^2, u.^3 ];
kW2 = pinv(h)*y2
y_est2 = kW2(1)*h(:,1) +kW2(2)*h(:,2) + kW2(3)*h(:,3) +kW2(4)*h(:,4);
figure(2)
plot(u,y2,u,y_est2,'r.')
title('5 m/s < Windspeed < 10 m/s')
u2=u;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear h u
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% time% nobs avg_rpm avg_powero avg_powerr avg_windspeed
load min_avg_0309_grt10.txt
data = min_avg_0309_grt10;
in_num = 5; % Input Index
out_num = 4; % Output Index
in_out_ind = [in_num, out_num];
u = data(:,in_num);
y3 = data(:,out_num);
t = 1:length(u);
clear data min_avg_0309_grt10
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
h = [ones(length(u),1), u, u.^2, u.^3 ];
kW3 = pinv(h)*y3
y_est3 = kW3(1)*h(:,1) +kW3(2)*h(:,2) + kW3(3)*h(:,3) +kW3(4)*h(:,4);
figure(3)
plot(u,y3,u,y_est3,'r.')
title('Windspeed > 10 m/s')
u3=u;
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear h u
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
yy= [y_est1(:,1); y_est2(:,1); y_est3(:,1)];
y_y= [y1(:,1); y2(:,1); y3(:,1)];
figure(4)
plot([u1;u2;u3],y_y,'r',[u1;u2;u3],yy,'b')
xlabel('Wind Speed (m/s)')
ylabel('Power Output (W)')
title('Power vs. Wind Speed')
legend('Actual Power Curve','Mean Power Curve')