|
|
Intervallgrenzen mithilfe zweier Vektoren |
|
pescatore265 |

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 04.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 15:21
Titel: Intervallgrenzen mithilfe zweier Vektoren
|
 |
Moin,
ich versuche gerade aus zwei Vektoren Intervallgrenzen zu generieren.
Als kleines Beispiel:
V1 = [ 30; 40; 55; 65]
V2 = [ 60; 50 ; 70; 90]
Meine gewünschten Intervallgrenzen in diesem Beispiel wären jetzt:
[30, 40]
[40, 55]
[50, 55]
[55, 60]
[60, 65]
[65, 70]
[70, 90]
Kann mir jemand, bei der Umsetzung helfen. Ich hantiere hier mit for und if Schleifen, komme aber zu gar nichts.
Bin über jeden noch so kleinen Tipp dankbar !
Gruß
|
|
|
|
|
pescatore265 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 04.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 15:24
Titel:
|
 |
bei der einen Grenze hat sich leider ein Fehler eingeschlichen.
[40,50] sollte das sein
|
|
|
Flo310790 |

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 06.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 15:33
Titel:
|
 |
hi,
also ich hoff ich hab richtig verstanden was du machen willst
wie wäre es alle vorhandenen intervallgrenzen in einen vektor zu packen diesen dann aufsteigend sortieren und dann mit "benachbarten" intervallgrenzen zweierpaare bilden...
|
|
|
pescatore265 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 04.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 15:40
Titel:
|
 |
Moin,
danke erstmal
Ich könnte das bestimmt so machen, wie du das sagt, aber das ist dann ja quasi manuell, weil ich nach deiner Variante selbst die Intervalle erkennen muss, um sie dann einzutragen oder ?
Mein Ziel ist es das Ganze zu automatisieren. Das Beispiel war gerade nur aus der Luft gegriffen. Ich versuche ein Programm zu schreiben, dass ich zwei beliebige Vektoren, die in meinem Fall Temperaturen enthalten, mit beliebiger Länge und beliebigen Einträgen an das Programm übergebe und mir dieses dann die Intervallgrenzen, wie sie in meinem Beispiel aussehen, generiert.
Ich hoffe, ich habe mich jetzt verständlicher ausgedrückt
Gruß
|
|
|
Flo310790 |

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 06.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 15:52
Titel:
|
 |
ja aber das sollte doch auch für beliebig lange vektoren gehen
[a_1,.....,a_m]
[b_1,....,b_n]
nach größe sortieren und in einem vektor
[c_1,.....,c_m+n]
und intervalle sind dann
[c_1 c_2]
[c_2 c_3]
...
[c_m+n-1 c_m+n]
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 15:53
Titel:
|
 |
Hallo,
Hatte die selbe Idee wie Flo. So könnte man es machen:
Grüße,
Seban
_________________
Richtig fragen
Debugging
|
|
|
Flo310790 |

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 06.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 15:55
Titel:
|
 |
das mit dem sort wollt ich grad noch ergänzen
und falls temperaturen evtl doppelt auftauchen könnten man das wohl mit unique lösen
mfg
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 16:03
Titel:
|
 |
|
|
pescatore265 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 04.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 16:07
Titel:
|
 |
Danke sehr !
Hat super funktioniert ! Und ich vertreibe mir die Zeit mit unnötigen Schleifen
Gruß
|
|
|
pescatore265 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 04.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 16:39
Titel:
|
 |
Es hat fast alles super geklappt
Der Befehl unique() verursacht bei mir einen Fehler. Könnt ihr mir sagen, weshalb ?
Matrix_Temp_HS =
40
45
60
160
220
327
??? Subscripted assignment dimension mismatch.
Error in ==> ProgrammBa at 88
Matrix_Temp_HS_neu(:,1)= Matrix_Temp_HS(1:size(Matrix_Temp_HS,1)-1)
Die Matrix ohne unique() sieht wie folgt aus:
Matrix_Temp_HS =
40
45
60
160
160
220
220
327
Allerdings erhalte ich dann überflüssige Intervalle wie [160,160] und [220,220]
Gruß
|
|
|
Flo310790 |

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 06.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 17:22
Titel:
|
 |
also ich hab das mit zwei zufallsmatrizen laufen lassen
T_Output_HS = rand(10,1);
T_Input_HS = rand(8,1);
da funktionierts...
hast du vllt einen zeilenvektor als eingabe ?
hast recht hab ma en beispiel mit gleichen Zahlen laufen lassen... ich gehs ma durch
|
|
|
pescatore265 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 04.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 17:29
Titel:
|
 |
ne, sind beides Spaltenvektoren.
btw warum brauche ich einmal "-1" ?
Matrix_Temp_HS_neu(:,1)= Matrix_Temp_HS(1:size(Matrix_Temp_HS,1)-1)
Ich habe jetzt versucht, über Schleifen die überflüssigen zeilen zu löschen. Matlab löscht die auch und zeigt mir die gewünschte Matrix an, schmeißt mir aber trotzdem eine Fehlermeldung aus.
Matrix_Temp_HS_neu =
40 45
45 60
60 160
160 220
220 220
220 327
Matrix_Temp_HS_neu =
40 45
45 60
60 160
160 220
220 327
??? Index exceeds matrix dimensions.
Error in ==> ProgrammBa at 95
if Matrix_Temp_HS_neu(i,1)== Matrix_Temp_HS_neu(i,2)
|
|
|
Flo310790 |

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 06.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 17:34
Titel:
|
 |
das -1 brauchst du damit du in der ersten spalte nur bis zum vorletzten eintrag gehst weil der letzte ja keine vordere intervallgrenze sein kann
bei der spalte fängst du dafür bei 2 an weil der erste eintrag ja keine hintere grenze sein kann
also ich ahb das jetzt alles nochmal laufen lassen und bei mir geht es ?! kann es sein das in deinem workspace noch was gestand was des ganze durcheinander gebracht hat ?
ist nämlcih bei mir der fall wenn ich den workspace nicht lösch und dann andere matrizen verwende kommt bei mir der fehler
funktioniert mit leerem workspace
|
|
|
pescatore265 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 04.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 17:38
Titel:
|
 |
alles klar, danke für die Erklärung
Und das Löschen des Workspaces hat es auch gebracht. Super!
Vielen lieben Dank!
|
|
|
Flo310790 |

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 06.12.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.11.2014, 17:43
Titel:
|
 |
also ich hab denk ich den fehler...
falls du Matrix_Temp_HS_neu nicht löscht hat die ja eine gewisse größe..
falls du dann eine neue eingabe machst versucht das programm diese in die alte Matrix zu schreiben.... und dann kommt der fehler mit den unterschiedlichen größen..
meine idee wäre es die matrix mateix_temp_hs_neu mit nullen der entsprechenden größe vorzubelegen
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|