for ii = 1:ndata
% Read data
inname{ii}
A = readuff(inname{ii});
length(A{1,3}.nodeN) end
% Load scan point location info load .\Scanpoints_Auswertung\scanloc_1000.mat; %Variable: scanloc
% For each data set for ii = 1:ndata
% Read data
inname{ii}
A = readuff(inname{ii});
scanpoints=A{1,3}.nodeN;
length(scanpoints)
iv = 0;
for iii = 1:length(scanpoints) %first we check which measurementpoints are located on the membrane
indscanloc=find(scanloc(:,1)==scanpoints(iii),1,'first');
if scanloc(indscanloc,3)==0 %&& ~(scanloc(indscanloc,1)==9 || scanloc(indscanloc,1)==20 || scanloc(indscanloc,1)==21 || scanloc(indscanloc,1)==22 || scanloc(indscanloc,1)==23 || scanloc(indscanloc,1)==52) && ~(scanloc(indscanloc,1)==4) %für jeden Messpunkt bestimmen ob der auf dem Membran liegt und welche Position er hat.
iv=iv+1;
scanlocBM(iv,1)=iii; %index in the data-file
scanlocBM(iv,2)=scanloc(indscanloc,1); %node number
scanlocBM(iv,3)=scanloc(indscanloc,2); %distance of the measurementpoint from the RW
end end
Vib = zeros(length(scanlocBM),8); %Initialize output
Vib(:,1) = scanlocBM(:,2); %Node Number
Vib(:,2) = scanlocBM(:,3); %Position
for v = 1:length(scanlocBM)
Vib(v,3) = (0.983/1.333)*abs(A{1,iVibD}.r3(scanlocBM(v,1))); %Vib: LDV - Distance/Weg corrected for the optical density difference (nair/nwater(@589 nm)=0.983/1.333)
Vib(v,4) = angle(A{1,iVibD}.r3(scanlocBM(v,1)))*360/(2*pi); %Vib: LDV - Distance/Weg
Vib(v,5) = 0; %Reserved for the phase-dependent amplitude
Vib(v,6) = (0.983/1.333)*abs(A{1,iVibV}.r3(scanlocBM(v,1))); %Vib: LDV - Velocity/Geschwindigkeit corrected for the optical density difference (nair/nwater(@589 nm)=0.983/1.333)
Vib(v,7) = angle(A{1,iVibV}.r3(scanlocBM(v,1)))*360/(2*pi); %Vib: LDV - Velocity/Geschwindigkeit
Vib(v,8) = 0; %Reserved for the phase-dependent amplitude
end
for vi = 1:length(scanlocBM)
Vib(vi,5)=Vib(vi,3)*cosd(Vib(vi,4)-theta0d);
Vib(vi,8)=Vib(vi,6)*cosd(Vib(vi,7)-theta0v);
end
Vib = sortrows(Vib,2); %sorts the rows of Vib in ascending order of the second column (distance from the RW)
%'Compensating' for the 'phasejump':
phasejump = 0;
for vi = 1:length(scanlocBM)
Vib(vi,4)=Vib(vi,4)+phasejump;
if vi<length(scanlocBM)
%if Vib(vi,4)<(-70+phasejump) && Vib(vi+1,4)>(70+phasejump) if Vib(vi+1,4)>(Vib(vi,4)-phasejump+discriminator) %discriminator for the phasejump isset at 100 degrees.
phasejump=phasejump-360;
end end end
%'Compensating' for the 'phasejump':
phasejump = 0;
for vi = 1:length(scanlocBM)
Vib(vi,7)=Vib(vi,7)+phasejump;
if vi<length(scanlocBM)
%if Vib(vi,4)<(-70+phasejump) && Vib(vi+1,4)>(70+phasejump) if Vib(vi+1,7)>(Vib(vi,7)-phasejump+discriminator) %discriminator for the phasejump isset at 100 degrees.
phasejump=phasejump-360;
end end end
%%{ % Grouping (maximum 3) and take the median of those points. The discriminator is the distance between the points (here: < 0.2 mm)
iii=1;
j=1 while iii <= length(Vib)
p = 1;
if((iii+1)<=length(Vib)) if(abs(Vib(iii,2)-Vib(iii+1,2))<0.0002)
p=p+1;
end end if((iii+2)<=length(Vib)) if(abs(Vib(iii,2)-Vib(iii+1,2))<0.0002)&&(abs(Vib(iii+1,2)-Vib(iii+2,2))<0.0002)
p=p+1;
end end
medarray(j,1)=0;
medarray(j,2)=median(Vib(iii:iii+p-1,2));
medarray(j,3)=median(Vib(iii:iii+p-1,3));
medarray(j,4)=median(Vib(iii:iii+p-1,4));
medarray(j,5)=median(Vib(iii:iii+p-1,5));
medarray(j,6)=median(Vib(iii:iii+p-1,6));
medarray(j,7)=median(Vib(iii:iii+p-1,7));
medarray(j,8)=median(Vib(iii:iii+p-1,8));
j=j+1;
iii=iii+p;
end
%%}
% fit parameters, function and fitting procedure
xdata = 1e3*medarray(:,2)';
ydata = 1e9*medarray(:,3)';
fun = @(a,x) a(2).*exp(-(x-a(1)).^2/(2*a(3).^2)); %Gaussian-Function(not normalized!)
%fun = @(a,x)(a(2)*(x-a(1))+a(3)*(x-a(1)).^2+a(4)*(x-a(1)).^3+a(5)*(x-a(1)).^4+a(6)*(x-a(1)).^5+a(7)*(x-a(1)).^6); %6th order polynome
a(ii,:) = lsqcurvefit(fun,a0(ii,:),xdata,ydata);
times = linspace(xdata(1),xdata(end),100);
tonotopy(ii,1)=a(ii,1);
tonotopy(ii,2)=freq(ii);
%%{
%--- Deutsch Envelop map with phase for overview ---%
%OpenFig([196.1],'latex');
OpenFig([289],'latex');
holdall set(gcf,'DefaultLineLineWidth',1.0);
set(gca, 'LineStyleOrder', {'-', '-.', '--', ':'});
grey=[0.6,0.6,0.6];
for i=1:2
ax = subplot(1,2,i);
grey=[0.6,0.6,0.6];
greylabel=[1,1,1];
Leider ist der Befehlt plotyy nicht mehr gültig. Das Skript ist aus der Version von 2011 und in der Version 2017 nicht mehr zu verwenden. Hat jemand eine Idee wie ich vom Befehl plotyy zu yyaxis konvertiere? Das Problem beginnt ab Zeile 164 mit dem Start von plotyy.
ich würde nicht sagen, dass plotyy nicht mehr gültig ist, sondern es ist (für neu entwickelten) Code nicht empfohlen.
Zitat:
Das Skript ist aus der Version von 2011 und in der Version 2017 nicht mehr zu verwenden.
Und das schließt du woraus? Bekommst du eine Fehlermeldung? Welche?
Auch der Titel des Threads ist hier wenig aussagekräftig.
Zitat:
Wie solle ich dann meine Formatierung indizieren?
Wenn ich die Frage richtig verstehe: die Formatierung direkt erledigen, wenn man in einem der Koordinatensysteme arbeitet, oder später nochmal mit yyaxis left und yyaxis right hin- und herwechseln.
Zitat:
Funktioniert Xticklabel dann noch?
Warum sollte es nicht funktionieren?
Grüße,
Harald
P.S.: Es ist ja nicht deine erste Frage... prinzipiell: je klarer die Frage, desto leichter und besser kann man antworten.
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.