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

Probleme mit SPLINE Funktion

 

olli

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.09.2008, 13:29     Titel: Probleme mit SPLINE Funktion
  Antworten mit Zitat      
Ich möchte eine Interpolation mit der Splinefunktion durchführen.
x und y haben hier eine Länge von 2741 und xx eine Länge von 11586.

Code:

x = matrix_t(1:le1,7);
disp(length(x));
y = matrix_temp(1:le1,8);
disp(length(y));
xx = matrix_r(1:le2,7);
disp(length(xx));
yy = interp1(x,y,xx);
 


FEHLERMELDUNG MATLAB:
??? Error using ==> spline
The values of X should be distinct.

Error in ==> GUI_1>GUI_1_OpeningFcn at 145
yy = spline(x,y,xx);

Error in ==> gui_mainfcn at 166
feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:});

Error in ==> GUI_x at 42
gui_mainfcn(gui_State, varargin{:});


Schrank
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 10.07.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 01.09.2008, 16:11     Titel:
  Antworten mit Zitat      
Hallo Olli,
ich persönlich bin auch im Netz ein Verfechter von ein klein wenig Höflichkeit. Insbesondere wenn jemand Hilfe sucht...
Also das hier
Code:

x=rand(2741,1);
y=rand(2741,1);
xx=rand(11586,1);
% x = matrix_t(1:le1,7);
disp(length(x));
% y = matrix_temp(1:le1,Cool;
disp(length(y));
% xx = matrix_r(1:le2,7);
disp(length(xx));
yy = interp1(x,y,xx);
disp(length(yy));

funktioniert bei mir. Der Fehler liegt also entweder in deinen Matrizen oder in einem anderen Teil des Codes den du nicht gepostest hast. Ein lauffähiges Minimalbeispiel wäre hilfreich.
Gruß Schrank
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: 01.09.2008, 16:55     Titel:
  Antworten mit Zitat      
Hallo olli,

die Fehlermeldung sagt im wesentlichen: "The values of X should be distinct." Also: Die Werte in X müssen unterschiedlich sein.

Daher liegt der Fehler in deinem x-Vektor, der doppelte Werte enthält, wodurch eine Interpolation nicht möglich ist. Doppelte Werte kannst du so finden:

Code:


Ist die Antwort "1", so sind tatsächlich doppelte Einträge vorhanden, die vor der Interpolation gelöscht werden müssen.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
olli

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.09.2008, 21:24     Titel:
  Antworten mit Zitat      
Hallo Bijick,

vielen Dank für die Hilfe. Wie kann ich dann gezielt die doppelt vorkommende Zeile löschen?

Chiao
 
Schrank
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 10.07.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 02.09.2008, 09:37     Titel:
  Antworten mit Zitat      
Hallo Olli,
ich denke das du mit
Code:

weiter kommen solltest. Da spuckt die Forumsuche auch einiges zu aus.
Gruß Schrank
Private Nachricht senden Benutzer-Profile anzeigen
 
bertin11
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 01.12.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.01.2010, 12:59     Titel:
  Antworten mit Zitat      
Hallo zusammen,

ich habe das gleiche Problem.
das heißt also, wenn meine Matrix X aus x- und y-koordinaten besteht, also zwei Spalten hat und ich dann diese Interp1-Funktion verwende und in der ersten Spalte, also meinem x-vektor, zwei gleiche zahlen hab, bringt er die Fehlermeldung? selbst wenn die zugehörigen y-Werte unterschiedlich sind? (d.h. wenn ich eine strecke zeichnen wollen würde, die parallel zur y-achse läuft)
wenn das nicht geht, welche funktion könnte ich dann verwenden anstatt interp1?
Vielen Dank!

Claudia
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 - 2025 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.