clc
close all
clear all
% Dateityp kann verändert werden nach der Endung
dateityp = 'xlsx';
% Die Genauigkeit so definieren , dass die kurven deutlich sind , am
% besten so wie der gewählte Abstand zwischen die Punkten
Genauigkeit_X = 500;
Genauigkeit_Y = 0.1;
%Datei auswählen und einlesen (öffnet fenster um datei auszuwählen)
% [xlsfile,path2xls] = uigetfile(['*.',dateityp], 'Datei wählen'); 
% Adata = xlsread(fullfile(path2xls,xlsfile));
Adata = xlsread('Verbrauchskennfeld.xlsx'); %% liest die datei ohne auswahl fenster (die datei muss in gleichen  Verzeichnis mit dem Script sien)
VKdata = xlsread('VollastKurve.xlsx');


% Drehzahl [1/min]
vk_n = VKdata(:,1);      % Drehzahl n ist die erste Spalte in der Excel-Tabell
% eff. Mitteldruck [bar]
vk_pe = VKdata(:,2);     % eff. Mitteldruck pe ist die zweite Spalte in der Excel-Tabelle
% Verbrauch [g/kWh]

%%Das Vebrauch brauchen wir nicht !!?
%vk_be = VKdata(:,3);      % Verbrauch be ist die dritte spalte in der Excel-Tabelle
% Drehzahl [1/min]


n = Adata(:,1);      % Drehzahl n ist die erste Spalte in der Excel-Tabelle

% eff. Mitteldruck [bar]
pe = Adata(:,2);     % eff. Mitteldruck pe ist die zweite Spalte in der Excel-Tabelle

% Verbrauch [g/kWh]
be = Adata(:,3);      % Verbrauch be ist die dritte spalte in der Excel-Tabelle

% Vollastkurve_pe [bar]
Vk_pe = Adata(:,4);

% %% hier löschen wir alle werte, welche pe groesser als vollast_pe UND GLEICHZEITIG 
% %% UND GLEICHZEITIG n groesser als vollast_n
s = length(n);
% for i = 1:s
%     if  pe(i) > Vk_pe(i)
% %         n(i) = NaN;
% %         pe(i) = NaN;
%         be(i) = NaN;
%     end
% end

 % Achsen definieren
tx = 0:Genauigkeit_X: max(n)+1000;
ty = 0:Genauigkeit_Y:max(pe)+2 ;
[xi,yi] = meshgrid(tx,ty);


zi = griddata(n, pe , be , xi, yi);
zi= floor (zi);
v = 240:20:400 ;

% 2D-Darstellung

h2d = figure(1);
[C,h]=contour(xi,yi,zi,v); hold on;
clabel(C,h)
plot(vk_n,vk_pe,'r','LineWidth',2)   %% einfach erste und zweite Spalten plotten, 'r' : farbe Rot 
tit2d = title('Verbrauchskennfeld 2D');
xL2d = xlabel('Drehzahl [1/min]');
yL2d = ylabel('eff. Mitteldruck [bar]');
set([tit2d xL2d yL2d],'FontSize',12)

% 3D-Darstellung

h3d = figure(2);
surf(xi,yi,-zi)
tit3d = title('Verbrauchskennfeld 3D');
xL3d = xlabel('Drehzahl [1/min]');
yL3d = ylabel('eff. Mitteldruck [bar]');
zL3d = zlabel('Verbrauch [g/kWh]');
set([tit3d xL3d yL3d],'FontSize',12)


