Matlab 0stellen finden

29/01/2012 - 03:12 von Mark | Report spam
Hallo,

ich habe Daten in Vektoren gegeben. Bis zu 10000 pro signal.
Hier wollte ich die Nulstellen finden und graphisch ausgeben.
Folgender Code macht schon, was ich moechte:

sp = spmak(augknt(1:10,2),[-2, -1, 0, 0, 0, -1, 1, 2, 3, 0]);
fnplt(sp)
z = fnzeros(sp)
nz = size(z,2);
hold on
plot(z(1,:),zeros(1,nz),'>',z(2,:),zeros(1,nz),'<'), hold off

Nur kann ich unmoeglih jedes mal meine Daten dort reinkopieren.
Ich habe versucht meinen Datenvector dort anzugeben, das funktioniert nicht.
Gibt es eine elegantere Moeglichkeit das zu loesen?
Ich kann die Daten auch zu einer 2 spaltigen oder 2 reihigen Matrix mit
zusaetzlichjer X-Achse konvertieren.

Die Genauigkeit einer geraden Verbindung vom letzten postiven Wert zum
naechsten negativen Wert(und umgekehrt) reicht aus.



Gruss
Mark
 

Lesen sie die antworten

#1 Christian Gollwitzer
31/01/2012 - 08:42 | Warnen spam
Hi Mark,

also erstmal: DU bist nicht ganz in der richtigen Gruppe. Deine Frage
hat nichts mit Mathematik zu tun, sondern mit Matlab
-> comp.soft-sys.matlab
Trotzdem verwenden hier natürlich manche Matlab.

Am 29.01.12 03:12, schrieb Mark:
Folgender Code macht schon, was ich moechte:

sp = spmak(augknt(1:10,2),[-2, -1, 0, 0, 0, -1, 1, 2, 3, 0]);
fnplt(sp)
z = fnzeros(sp)
nz = size(z,2);
hold on
plot(z(1,:),zeros(1,nz),'>',z(2,:),zeros(1,nz),'<'), hold off

Nur kann ich unmoeglih jedes mal meine Daten dort reinkopieren.
Ich habe versucht meinen Datenvector dort anzugeben, das funktioniert
nicht.




Verstehe ich nicht, wenn Du einen Vektor a hast, dann muss man den auch
da oben einsetzen können. Allerdings macht spmak einen B-spline. Ist das
wiklich, was DU willst? Suchst Du nicht eher einen kubischen Spline
(oder linearen??), der durch die Datenpunkte geht, also z.B. csape? Der
B-spline mit hoher Ordnung dürfte nicht mehr viel mit Deinen Daten zu
tun haben.


Die Genauigkeit einer geraden Verbindung vom letzten postiven Wert zum
naechsten negativen Wert(und umgekehrt) reicht aus.



D.h., du suchst einen linearen spline. Hab ich jetzt nicht im KOpf.

Christian

Ähnliche fragen