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

vektor mit bestimmten bereichen

 

stevorino
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 06.12.11
Wohnort: ---
Version: R2007b
     Beitrag Verfasst am: 11.09.2012, 14:41     Titel: vektor mit bestimmten bereichen
  Antworten mit Zitat      
Hallo,

Ich möchte einen Vektor (1,64800) erstellen.

Dabei sollen bestimmte Wertebereiche gleich 1 sein, und der Rest gleich NaN.

54066:54075 = 1
54246:54255 = 1
54426:54435 = 1
.
.
.
58386:58395 = 1

der Rest gleich NaNs

Danke,
Stno
Private Nachricht senden Benutzer-Profile anzeigen


Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 11.09.2012, 15:20     Titel:
  Antworten mit Zitat      


Zuletzt bearbeitet von Vito am 11.09.2012, 16:24, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
stevorino
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 06.12.11
Wohnort: ---
Version: R2007b
     Beitrag Verfasst am: 11.09.2012, 15:45     Titel:
  Antworten mit Zitat      
den Ansatz verstehe ich leider nicht.

Wo kommt da mein gewünschter Vektor (1,64800) vor?

Der erste Bereich, der 1 enthalten soll, beginnt erst bei (1,54066). Davor sollen nur NaNs sein.

Der letzte Abschnitt, der 1 enthalten soll, endet bei (1,58395). Danach nur sollen nur NaNs sein.

Und zwischen den Abschnitten auch NaNs.

Grüße,
Stno
Private Nachricht senden Benutzer-Profile anzeigen
 
church01
Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 04.12.09
Wohnort: Köln
Version: ---
     Beitrag Verfasst am: 11.09.2012, 16:02     Titel:
  Antworten mit Zitat      
y(1:64800)=NaN;
y(54066:54075)=1;
usw...
Private Nachricht senden Benutzer-Profile anzeigen
 
Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 11.09.2012, 16:03     Titel:
  Antworten mit Zitat      
Hi,

hatte es falsch verstanden.
Hier quick and dirty Smile
Code:

clear
clc
start = 54066;
ende = start+9;
MAT = repmat(NaN,1,64800);
for l=start:64800
for k = start:start+9
        MAT(k) = 1;
        if(k==ende)
            start = start+180;
            ende = start+9;
        end
        if(k==58395)
            return;
        end
end
end
 

Gruß,
Vito

Zuletzt bearbeitet von Vito am 11.09.2012, 16:28, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
church01
Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 04.12.09
Wohnort: Köln
Version: ---
     Beitrag Verfasst am: 11.09.2012, 16:05     Titel:
  Antworten mit Zitat      
so gehts natürlich auch Very Happy

MAT = dein y Very Happy
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: 11.09.2012, 16:13     Titel: Re: vektor mit bestimmten bereichen
  Antworten mit Zitat      
Hallo stevorino,

Code:
List = [54066, 54075; ...
             54246, 54255; ...
             54426, 54435; ...
             58386, 58395];

result = NaN(1, 64800);
for iList = 1:size(List, 1)
  result(iList(iList, 1):iList(iList, 2)) = 1;
end

Gruß, Jan

Zuletzt bearbeitet von Jan S am 11.09.2012, 17:03, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
stevorino
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 06.12.11
Wohnort: ---
Version: R2007b
     Beitrag Verfasst am: 11.09.2012, 16:52     Titel:
  Antworten mit Zitat      
Danke euch erst mal.

Im Moment habe ich mich mit Vito's Ansatz angefreundet.

Ich habe die Schleife in mein Programm eingebaut.

Allerdings hört das Programm direkt nach der Schleife auf zu rechnen, obwohl ich danach noch weitere Berechnungen benötige.

Woran könnte das liegen??

Gruß,
Stno
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: 11.09.2012, 17:05     Titel:
  Antworten mit Zitat      
Hallo stevorino,

Ohne das Programm zu sehen, ist es kaum möglich die Ursache von Bugs zu erraten. Bitte poste doch mal den relevanten Ausschnitt.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
stevorino
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 06.12.11
Wohnort: ---
Version: R2007b
     Beitrag Verfasst am: 11.09.2012, 17:08     Titel:
  Antworten mit Zitat      
das problem ist, dass keine Fehlermeldung kommt.

Alle variablen bis zum Ende der Schleife werden berechnet, jene danach nicht.

Liegt es etwa an dem Befehl return?
Private Nachricht senden Benutzer-Profile anzeigen
 
Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 11.09.2012, 17:15     Titel:
  Antworten mit Zitat      
Hi,

ersetzt es damit, dann funktioniert dein restlicher Code.
Code:

clear
clc
start = 54066;
ende = start+9;
abbruch = 0;
MAT = repmat(NaN,1,64800);
for l=start:64800
    for k = start:start+9
        MAT(k) = 1;
        if(k==ende)
            start = start+180;
            ende = start+9;
        end
        if(k==58395)
            abbruch = 1;
        end
    end
    if(abbruch == 1)
        break;
    end
end
 

Gruß,
Vito
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.