www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - 2 Vektoren vergleichen?
2 Vektoren vergleichen? < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

2 Vektoren vergleichen?: Hilfe/Rat
Status: (Frage) beantwortet Status 
Datum: 21:28 Di 12.12.2006
Autor: mawai

Aufgabe
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Hallo,
kann mir jemand weiterhelfen:

ich habe in Matlab 2 Größen mit unterschiedl. Auflösung:

a=1200:0.5:5000;
b=1200:40:5000;

Vektor b kann schließl nur 40 Schritte. Das heißt wenn a=1220 hat zeigt b=1200 bzw. 1240 an. Maximale Differenz ist also 20.
Prozentual wäre das dann  100/a*Differenz
Wie kann ich das automatisiert hinbekommen?

Dies würde ich gerne auf prozentuale Differenz untersuchen und plotten lassen.


        
Bezug
2 Vektoren vergleichen?: Antwort
Status: (Antwort) fertig Status 
Datum: 21:37 Di 12.12.2006
Autor: Hugo_Sanchez-Vicario

Hallo mawai,

du musst zuerst einmal einen Weg finden, wie du (ohne eine for-Schleife zu programmieren) bestimmen kannst, welchen Abstand die Werte von a zum jeweils nächstliegendsten Wert von b haben.

Wie würdest du das machen?

Hugo

Bezug
                
Bezug
2 Vektoren vergleichen?: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 22:32 Di 12.12.2006
Autor: mawai

Hallo Hugo,

tut mir leid, aber ich versteh nicht ganz was mir das bringen soll, verstehe deine Andeutung nicht ganz?

meine Maximale Differenz werde ich immer da haben, wo eben (b(x)-b(x-1))/2 ist.  Also hier z.B (1240-1200)/2=20.
Wenn ich Richtung kleiner/größer 1220 werde wird die Differenz wieder kleiner, weil ich mich ja an 1200/1240 nähere.
Prozentual nimmt die Abweichung bei höheren Werten auch exponential ab.
Auf dem Blatt Papier ist mir das schon klar, aber wie kann ich das mit Matlab lösen?

Bezug
                        
Bezug
2 Vektoren vergleichen?: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:01 Mi 13.12.2006
Autor: Hugo_Sanchez-Vicario

Hallo mawai,

wie kannst du zu einer vorgegebenen Zahl, z.B. 1374, einen Vektor bestimmen, der als i-ten Eintrag jeweils den Abstand zum i-ten Eintrag von b enthält?

Mit diesem Schritt fängt man zunächst einmal an.

Danach automatisierst du diesen Vorgang für alle Einträge des Vektors von a und bekommst eine Matrix, die alle Abstände zwischen den Einträgen beider Vektoren enthält.

Aus dieser Matrix und dem Vektor a kann man am Ende für jeden Eintrag von a den prozentualen Fehler bestimmen, den man beim Ersetzen durch einen Wert von b mindestens macht.

Hugo

Bezug
                                
Bezug
2 Vektoren vergleichen?: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 23:04 Mi 13.12.2006
Autor: mawai

Hallo Hugo,

tut mir leid, aber ich kann nicht ganz folgen.
Kannst du mir bitte mal die Lösung mit Matlab posten?
z.B. a=0:0.5:4000; b=0:40:4000;
maximale Differenz wäre 39,5 -> b wiederspiegelt solange 0 bis a=40.
Es müßte also ein lineares ZigZag (Sägezahn) rauskommen 0-39,5-0.....
:-)
Bekomm das mit Matlab einfach nicht dargestellt, bin doch absoluter Laie.

Bezug
                                        
Bezug
2 Vektoren vergleichen?: Antwort
Status: (Antwort) fertig Status 
Datum: 09:14 Do 14.12.2006
Autor: Martin243

Hallo,

meinst du so etwas? (ist nur ein Zehntel der Kurve)
[Dateianhang nicht öffentlich]

Ohne for-Schleife habe ich es nicht hingekommen, aber so:
for i=1:length(a),
  f=find(sort([a(i) b])==a(i));
  abst(i)=min(abs(b(max(1,f-2):min(f+2,length(b)))-a(i)));
end;


Gruß
Martin

Dateianhänge:
Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
Bezug
                                        
Bezug
2 Vektoren vergleichen?: Antwort
Status: (Antwort) fertig Status 
Datum: 21:14 Do 14.12.2006
Autor: Hugo_Sanchez-Vicario

Hallo mawai,

wenn du wissen willst, wie weit die Zahl 2447 von Einträgen des Vektors
b=0:45:9000
mindestens entfernt ist, dann kannst du erst einmal mit
d=abs(b-2447)
berechnen lassen, welche Abstände alle Einträge von b zu dieser Zahl haben.

Der kleinste davon ist min(d) und die prozentuale Abweichung dann
[mm] \frac{d}{244}\cdot [/mm] 100%

Jetzt müsstest du das für alle Einträge des Vektors a machen.
Das geht entweder mit einer for-Schleife oder anders. Ich gehe davon aus, dass au und b Zeilenvektoren sind.

A=a'*ones(size(b));  % jeder Wert von a wird mit
B=ones(size(a'))*b;  % jedem Wert von b verglichen
D=abs(A-B);

Jetzt hast du eine Matrix, in der der Eintrag D(i,j) der Abstand zwischen [mm] a_i [/mm] und [mm] b_j [/mm] ist. Schau dir in der Matlab-Hilfe an, wie der Befehl min auf Matrizen wirkt. Je nachdem wie gibt dir
min(D)./a oder min(D)./a' oder min(D')./a oder min(D')./a'
die richtige Lösung aus.

Hugo

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]