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
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 |
|
|
|
|
|
|