PHD Project - Driver energy prediction
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

126 lines
4.4 KiB

%% Plot Bahn mit unterschiedlichen Gewichten
% Während eines Breakpoints in BerechneSpline_Rotor ausführen, damit die
% entsprechend Daten alle da sind.
%% Skript für Plotbasics
basics_plot
%% Beginn
Bahn = Bahn(1:7);
retrFactor = [1 4 0.25 -2];
uiter = 0:0.01:1;
vek = zeros(5,numel(uiter));
for i = 1:numel(retrFactor)
Bahn_iter = Bahn;
% Berechnung der Stetigkeitsbedingungen
for iter = 1:numel(Bahn)
if find(iter==splineTrajectories) %Ist ein Spline
teilstueckIterator = splineTrajectories(find(iter==splineTrajectories));
Pw = Bahn_iter(teilstueckIterator).pj;
Pw(1:end-1,end-3) = Pw(1:end-1,end-3)./Pw(end,end-3); %Zurücknormieren, sollte normalerweise immer 1 sein
Pw(end,4:end-3) = ones(1,2)*retrFactor(i);
Pw(1:end-1,4:end-3) = Pw(1:end-1,4:end-3).*retrFactor(i);
Bahn_iter(teilstueckIterator).pj = Pw;
% Bahn_iter(teilstueckIterator).u = u;
% Bahn_iter(teilstueckIterator).p = p;
%
for ui = 1:numel(uiter)
vek(:,ui) = berechneAbleitungenAnPunkt(uiter(ui),Bahn_iter(teilstueckIterator).p,Bahn_iter(teilstueckIterator).u,Bahn_iter(teilstueckIterator).pj,0);
end
% text(vek(1,1),vek(2,1),vek(3,1),'1');
% text(vek(1,end),vek(2,end),vek(3,end),'2');
if i == 1
lineStyle = '-';
elseif i == 2
lineStyle = '--';
elseif i == 3
lineStyle = '-.';
else
lineStyle = '.';
end
plot3(vek(1,:),vek(2,:),vek(3,:),'Color',[0,0,0],'LineStyle',lineStyle);
hold on
else
vek = bspeval(Bahn_iter(iter).p,Bahn_iter(iter).pj,Bahn_iter(iter).u,0:0.01:1);
plot3(vek(1,:),vek(2,:),vek(3,:),'Color',[0,0,0],'LineStyle','-');
hold on
end
end
end
plot3(Bahn(teilstueckIterator).pj(1,:)./Bahn(teilstueckIterator).pj(end,:),Bahn(teilstueckIterator).pj(2,:)./Bahn(teilstueckIterator).pj(end,:),Bahn(teilstueckIterator).pj(3,:)./Bahn(teilstueckIterator).pj(end,:),'LineStyle','none','Marker','x','Color',[0,0,1]);
axis equal
% fig_Res = figure(1); % figure handle erzeugen
% fig_Res.Color = [1, 1, 1]; % Hintergrundfarbe weiß
% fig_Res.Units = 'centimeters'; % figure Einheit in cm
% fig_Res.Position(3) = 14.67251; % hier kann man in cm die richtige Breite des Texts in LaTeX angeben ...
% fig_Res.Position(4) = 16; % und hier die Höhe der figure
xlabel('x {[\SI{}{mm}]}')
ylabel('y {[\SI{}{mm}]}')
zlabel('z {[\SI{}{mm}]}')
a = gca;
a.View = [-90;0];
% set(gca,'ZLim',[148,268])
set(gca,'ZLim',[-30,-10])
set(gca,'YLim',[-30,30])
%% Tikzn
matlab2tikz('filename','optimDerivs_w5.tex',...
'height', '\figureheight', 'width', '\figurewidth', 'encoding', 'UTF8', 'showInfo', false, 'checkForUpdates', false, ...
'parseStrings', false, ... % switch off LaTeX parsing by matlab2tikz for titles, axes labels etc. ("greater flexibility", "use straight LaTeX for your labels")
'floatFormat', '%.4g', ... % limit precision to get smaller .tikz files
'noSize', false);
%
% axis off
%
% hold off
% box off % Box um die figure herum ausblenden
% mit legendflex hat man mehr Möglichkeiten als mit MATLABs eigener
% legend-Funktion
% legendflex({'LF', 'UF'}, ...
% 'box', 'off', ...
% 'ncol', 1, ...
% 'nrow', 2, ...
% 'anchor', [3, 3], ...
% 'buffer', [-30, -30], ...
% 'xscale', 0.5, ...
% 'padding', [0, 0, 20], ...
% 'Color', [1, 1, 1], ...
% 'Interpreter', 'latex', ...
% 'fontsize', 11)
tightfig; % tightfig entfernt den weißen Rand um die figure herum
% for i = 1:length(ax)
% % decimal_comma(ax(i), 'XY') % für deutsche Veröffentlichungen kann hiermit der Dezimalpunkt durch ein Dezimal komma ersetzt werden
% myArrow(ax(i), 'y') % Die Funkion fügt je nach zweitem Argument einen Achsenpfeil hinzu
% end
% FileName_Res = './Figures/PathOptim'; % Dateiname für LaTeX-Export definieren
% Plot2LaTeX(fig_Res, FileName_Res) % Plot2LaTeX erzeugt aus der figure eine SVG-Datei und daraus ein PDF + LaTeX-Datei für den Text