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

Matrix interpolieren und mergen

 

Sandman86
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 17.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.08.2009, 11:45     Titel: Matrix interpolieren und mergen
  Antworten mit Zitat      
Hallo zusammen,
ich bin neu in Matlab und gleich mit meiner ersten Aufgabe total überfordert
Embarassed

Ich hab 2 Matrizen:

chanvals a x 24
timevals b x 1

wobei b>a ist.

Die letzen Werte der Matrix timevals sind alle Null also sind die Matrizen eigentlich gleich lang...

Gleichzeitig ist die Spalte 1 der Matrix chanvals nur mit Nullen gefüllt...

Ich will jetzt die "0"-Spalte durch den Vektor aus timevals überschreiben:

Prinzipiell müsste es ja irgendwie so funktionieren:

Code:

[R,C]=size(chanvals)
for i=1:R
e=timevals(i,1)
chanvals(i,1)=e
end
 

Nur irgendwie will das nicht Sad


So mein zweites Problem ist wesentlich komplizierter:
Der Vektor in timevals besteht aus Einträgen(Zahlwerten) und Nullen. Ich möchte gerne den Zwischenraum zwischen den Zahlen interpolieren. Ich weiss, dass der Abstand zwischen zwei Werten 100 Zellen beträgt.
Also Differenz der beiden Werte / 100 und dann immer auf die vorrige Zelle addieren.
Jetzt nur leider die Besonderheit, dass durch Messaussetzer manchmal 2 Werte direkt aufeinander folgen, ich also einen Suchalgorithmus brauche Sad


vllt hat jemand ja mit sowas Erfahrung ? oder irgendwelche Ideen?

Schon mal danke für euere Mühen

Christian
[/code]
Private Nachricht senden Benutzer-Profile anzeigen


pitaz
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 03.12.08
Wohnort: Zürich, Schweiz
Version: R2009a
     Beitrag Verfasst am: 17.08.2009, 14:01     Titel:
  Antworten mit Zitat      
Hallo

Was kriegst du denn für nen Fehler raus? Müsste eigentlich gehen. Du kannst das ganze jedoch in einer Zeile schreiben, nämlich so:

Code:

chanvals(:,1) = timevals(1:size(chanvals, 1), 1);
 


Deine zweite Frage versteh ich leier nicht ganz
Private Nachricht senden Benutzer-Profile anzeigen
 
Sandman86
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 17.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.08.2009, 15:31     Titel:
  Antworten mit Zitat      
huhu ich will nicht die Zeile schreiben sondern die erste Spalte ersetzen, aber das müsste eigentlich auch gehen einfach nur dein Beipsiel rum drehen... muss ich morgen nochmal probieren.

vllt nochmal zur zweiten Frage:

Ich habe einen Spaltenvektor. Einige wenige Zellen enthalten Werte, der Rest sind Nullen. Diese Nullen will ich interpolieren. Ich weiss, wenn Nullen zwischen den Werten sind, dann sind es immer:
Zelle 1 = Wert
Zelle 2= 0
....
Zelle 101= Wert

Es kann jedoch vorkommen, dass manchmal Wert nach Wert kommt.
Ich will jetzt den Wert aus Zelle 101 nehmen davon den Wert aus Zelle 1 abziehen und durch hundert teilen. Danach alle Zellen zwischen 1 und 101 interpolieren. Vorrige Zelle + den berechneten Wert.

vllt ist das so bisschen genauer beschrieben
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.