Steigung zwischen rel. Max/Min < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) für Interessierte | Datum: | 14:15 Fr 03.09.2010 | Autor: | Lebaer |
Aufgabe | close all;
x=[200:400];
relMaxY = ones(33,5).*nan;
relMaxX= ones(33,5).*nan;
relMinX = ones(33,5).*nan;
relMinY = ones(33,5).*nan;
amplitude = ones(33,5).*nan;
for i=1:1:33
xm = Matlab([200:400],i)';
p = polyfit(x, xm,1);
figure
% plot(x,xm)
% hold on
y=p(1)*x+p(2);
% plot(x,y);
g=(xm-y);
iN =50; % Länge des Filters
vg = filter(ones(1,iN)/iN, 1, g);
% Savitzky-Golay Filter, eignet sich am besten um Rauschen zu
% unterdrücken und den Verlauf zu glätten
smtlb = sgolayfilt(vg,3,41);
plot(200:400,smtlb,'r');
hold on
grid; %gitter einfügen
% MINIMA und MAXIMA rausfinden und abspeichern
vzw = diff(sign(diff(smtlb)));
local = x(vzw < 0);
relMaxX(i,1:length(local)) = local;
local =smtlb(vzw < 0);
relMaxY(i,1:length(local)) = abs(local);
local = x(vzw > 0);
relMinX(i,1:length(local)) = local;
local = smtlb(vzw > 0);
relMinY(i,1:length(local)) = abs(local);
title(num2str(i));
xe = xm-y;
end
amplitude = relMaxY+relMinY; |
Guten Tag,
Ich mache gerade ein Praktikum an einem Insitut und soll mit Matlab aus mehreren Messdaten informationen gewinnen.
jetzt kommt aber ein großes problem auf ich zu:
Ich muss aus den gewonnen rel. mins und maxs die steigung berechnen.
nun muss ich aus den 4 Matrizen in denen jeweils die rel. Maxima/Minima und die dazu gehörigen X Werte stehen, die Steigung bilden.
nach 8 stündigem googlen habe ich gemerkt dass es sich nicht mit einfachen befehl lösen lässt sondern mit schleifen und bedingungen.
hat vllt jemand ein ähnliches problem gemacht oder kann mit jemand den ansatz liefern.
wäre euch sehr dankbar!
gruß
Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt:
http://www.gomatlab.de/relative-maxima-minima-bzw-amplitude-t14072.html
|
|
|