WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Interpolieren

 

brainy
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 20.06.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2007, 13:44     Titel: Interpolieren
  Antworten mit Zitat      
Hallo Leute,

ich habe folgendes Problem:

Ich habe zwei große Messreihen, also zwei Matrizen mit jeweils einer Spalte x-Werte und einer Spalte y-Werte. Die x-Werte sind allerdings nicht äquidistant und ich muss beide Messreihen voneinander subtrahieren. Mein prob ist, dass ich nicht weiß, wie ich diese beiden Matrizen subtrahieren kann, weil die y-Werte der einen Messreihe nicht mit den y-Werten der anderen Messreihe übereinstimmen.
Ich weiß, dass ich interpolieren muss, kenne aber den Befehl in Matlab nicht ...

Schöne Grüße
brainy
Private Nachricht senden Benutzer-Profile anzeigen


Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 12.07.2007, 14:50     Titel:
  Antworten mit Zitat      
Hallo,

wenn man im Index 'interpolation' eingibt, kommt als erstes Ergebnis diese Seite

Zitat:
Interpolation

Interpolation is a process for estimating values that lie between known data points. It has important applications in areas such as signal and image processing.

This section
Provides a summary of the MATLAB interpolation functions
Discusses one-dimensional interpolation
Discusses two-dimensional interpolation
Uses an example to compare nearest neighbor, bilinear, and bicubic interpolation methods
Discusses interpolation of multidimensional data
Discusses triangulation and interpolation of scattered data


Unter 'one-dimensional interpolation' findet man, was Du brauchst. Es gibt also die Möglichkeiten
Code:
mit den verschiedenen Ausprägungen und
Code:

Welches die geeignete Interpolationsmethode ist, hängt von Deinen Daten ab.
Du kannst dann entweder beide Datenreihen auf ein einheitliches (z.B. äquidistantes) Gitter interpolieren, oder eine Datenreihe auf die x-Wert der anderen.

Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
stone17
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 08.07.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2007, 20:41     Titel:
  Antworten mit Zitat      
Das Problem hatte ich auch mal.
Den Code habe ich benutzt um 2 Transmissionskurven zu subtrahieren, deren X Werte nicht Äquidistant waren.
Code:

xrange1 = 0:.25:30000; %gewünschter Bereich der Interpolation
yinterpolated1 = interp1(x1,y1,xrange1); %Kurve1 (x1,y1)
xrange2 = 0:.25:30000;
yinterpolated2 = interp1(x2,y2,xrange2); %Kurve2(x2,y2)

plot(xrange1,sqrt((yinterpolated1-yinterpolated2).^2),'--','color',[1 0 0]);
 


ich hoffe, ich hab den code noch richtig im Kopf gehabt
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 19.07.2007, 17:07     Titel:
  Antworten mit Zitat      
Eine ganz gute Möglichkeit, die Kurven zu vergleichen, erhält man, wenn man als Zeitgitter die Werte beider Kurven nimmt, z.B.

Code:
x1 = 0:0.25:10;
x2 = 0:0.1:10;
y1 = sin(x1);
y2 = 1.2*sin(x2);
x = union(x1, x2); % ist sortiert, doppelte Werte sind eliminiert
y1i = interp1(x1,y1,x);
y2i = interp1(x2,y2,x);
subplot(2,1,1)
plot(x1,y1,x2,y2)
subplot(2,1,2)
plot(x, y1i-y2i)
Private Nachricht senden Benutzer-Profile anzeigen
 
Findo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2010, 17:38     Titel:
  Antworten mit Zitat      
Hallo,

ich habe versucht mit dem letzten Eintrag meine Messreihen auszuwerten. Leider ist mir das nicht gelungen.
Beide stellen die Kennlinien eines Solarmoduls(Reihenschaltung) dar mit I an der y Achse und U an der X Achse. Eine ist jedoch verschattet(Widerstand in Reihe) die andere ist normal.
Ich möchte nun die Differenz darstellen. Sprich bei gleichem y-Wert (mit union) die x-Werte abziehen. Dabei sollen die x-Werte linear zwischen den Messpunkten interpoliert werden.
In meinem Fall endet die eine Reihe einen Tick unter der anderen (Messfehler von I). Für die nicht vorhandenen Punkte kann einfach 0 genommen werden.

Habe leider noch nie richtig mit Matlab gearbeitet und mit der Anweisung sowie der Hilfefunktion es nicht hin bekommen. Vielleicht kann mir ja kurz einer helfen. Ist für meine Bachelorarbeit...

Vielen Dank und freundliche Grüße
Findo
 
Im2old4you
Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 24.11.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2010, 15:30     Titel:
  Antworten mit Zitat      
Was muss man machen wenn man zb seine eigene interp funktion schreibt?

Zb. So was.

Simulieren Sie den Prozess einer Röntgenbildaufnahme. Die Röntgenquelle liegt in dem Punkt R(Quelle) und strahlt in alle Richtungen ab. Das dreidimensionale Objekt u befindet sich im Zentrum in einem Kubus der Kantenlängen kx,ky,kz und liegt als dreidimensionale Matrix der Dimension NxNxN vor. Das Detektorarray ist durch drei Punkte rD1,rD2,rD3 in der unteren linken, oberen linken und unteren rechten Ecke bestimmt und besteht aus MxM Detektorelementen.

es soll eine funktion erstellt werden die von r abhängt


oder kann man innerhalb der erstellten Funktion interp verwenden?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 04.12.2010, 22:58     Titel:
  Antworten mit Zitat      
Hallo Findo,

Zitat:
ich habe versucht mit dem letzten Eintrag meine Messreihen auszuwerten. Leider ist mir das nicht gelungen.

Dann zeige uns doch einfach, was Du versucht hast, und wir versuchen Deinen Code zu verbessern. Das ist eine sehr effiziente Arbeitsmethode in einem Forum.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.