clear all
close all
clc
%% Load Excel-file
Z = xlsread('Data_conclusion.xlsx','Biomass growth');
X(1:8,1:3) = ones; 
X025(1:8,1:3) = ones;
X(:,2:3) = Z(9:16,2:3);
X025(:,2:3) = Z(1:8,2:3);
Y(:,:) = Z(9:16,5);
Y025(:,:) = Z(1:8,5);
Q(:,:) = Z(9:16,4);
Q025(:,:) = Z(1:8,4);
Y = Y./100;
Y025 = Y025./100;

figure
hold on
plota = scatter3(X(:,2),X(:,3),Y(:),'filled','blue');
plotb = scatter3(X025(1:8,2),X025(1:8,3),Y025(1:8),'filled','red');
legend('0.25 x M9*','1 x M9*');
xlabel('Glucose concentration [g L^-^1]');
ylabel('Media flow rate [µL min^-^1]');
zlabel('Biomass yield [%]');

%% Regression
X(:,4) = X(:,2).*X(:,3);
% X(:,5) = X(:,2).*X(:,2);
% X(:,6) = X(:,3).*X(:,3);
X025(:,4) = X025(:,2).*X025(:,3);
% X025(:,5) = X025(:,2).*X025(:,2);
% X025(:,6) = X025(:,3).*X025(:,3);

reg = regress(Y,X);
[~,~,~,~,stats] = regress(Y,X);
reg025 = regress(Y025,X025);
[~,~,~,~,stats] = regress(Y025,X025);

%% Formel Darstellung
A = (2:0.5:20)';
B = (15:15:195)';

for a=1:length(A)
    for b=1:length(B)
            simy(a,b) = reg(1) + reg(2)*A(a) + reg(3)*B(b) + reg(4)*A(a)*B(b);
%           simy(a,b) = reg(1) + reg(2)*A(a) + reg(3)*B(b) + reg(4)*A(a)*B(b) + reg(5)*A(a)*A(a) + reg(6)*B(b)*B(b);
    end
end
for a=1:length(A)
    for b=1:length(B)
            sim025(a,b) = reg025(1) + reg025(2)*A(a) + reg025(3)*B(b) + reg025(4)*A(a)*B(b);
%           sim025(a,b) = reg025(1) + reg025(2)*A(a) + reg025(3)*B(b) + reg025(4)*A(a)*B(b) + reg025(5)*A(a)*A(a) + reg025(6)*B(b)*B(b);
    end
end

%% Darstellung
% Y1(:,:) = simy(:,1,:); %2 g/L Glucose
% 
% Y2(:,:) = simy(:,17,:); %10 g/L Glucose
% [A,C] = meshgrid(0.25:0.05:1,15:15:195);
% figure
% hold on
% surf(A,C,Y2')
% xlabel('Media concentration [x M9*]');
% ylabel('Media flow rate [µL min^-^1]');
% zlabel('Biomass dry weight [g L^-^1]');
% 
% Y3(:,:) = simy(16,:,:); % 1xM9* media
% Y4(:,:) = simy(1,:,:); % 0.25xM9* media

[A,B] = meshgrid(2:0.5:20,15:15:195);
figure
hold on
scatter3(X(:,2),X(:,3),Y(:),'filled','blue');
surf(A,B,simy')
xlabel('Glucose concentration [g L^-^1]');
ylabel('Media flow rate [µL min^-^1]');
zlabel('Biomass yield [g g^-^1]');

figure
hold on
scatter3(X025(1:8,2),X025(1:8,3),Y025(1:8),'filled','red');
surf(A,B,sim025')
xlabel('Glucose concentration [g L^-^1]');
ylabel('Media flow rate [µL min^-^1]');
zlabel('Biomass yield [g g^-^1]');

%% Beste Glucose Nutzung

A = (0.25:0.05:1)';
B = (2:0.5:20)';
C = (15:15:195)';

for b=1:length(B)
    for c=1:length(C)
        glu(b,c) = B(b,1)*C(c,1)*60*24*7/1000000;
    end
end

gluX=(glu.*simy);
gluX025=(glu.*sim025);

%% Umrechnung in biomass per area

gluX = gluX./0.002;
gluX025 = gluX025./0.002;
Q = Q/0.002;
Q025 = Q025./0.002;

%% Darstellung
% Average value of maximum point
Q = Q(1:5);
Q(5) = 396;

%Plot1

[B,C] = meshgrid(2:0.5:20,15:15:195);
figure
hold on
plota = scatter3(X(1:4,2),X(1:4,3),Q(1:4),'filled','blue');
plotb = scatter3(X(5,2),X(5,3),Q(5),'filled','red');
model = surf(B,C,gluX');
alpha(model,0.5);
colorbar
caxis([0 500]);
xlim([0 22])
xticks(0:5:20)
ylim([0 200])
zlim([0 700])
legend('1 x M9*','Step 3','Model');
set(gca,'fontsize',14)
% xlabel('Glucose concentration [g L^-^1]');
% ylabel('Media flow rate [µL min^-^1]');
% zlabel('Total Biomass [g]');
%colorbar

%Plot2
figure
hold on
plotb = scatter3(X025(1:8,2),X025(1:8,3),Q025(1:8),'filled','blue');
model2 = surf(B,C,gluX025');
alpha(model2,0.5);
colorbar
caxis([0 300]);
xlim([0 22])
xticks(0:5:20)
ylim([0 200])
zlim([0 700])
legend('0.25 x M9*','Model');
set(gca,'fontsize',14)
% xlabel('Glucose concentration [g L^-^1]');
% ylabel('Media flow rate [µL min^-^1]');
% zlabel('Total Biomass [g]');