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

Variieren d. letzen Wert im Vektor und ersetzen dieser?!

 

Samil
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 20.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.10.2013, 11:59     Titel: Variieren d. letzen Wert im Vektor und ersetzen dieser?!
  Antworten mit Zitat      
Hallo,

ich habe einen Vektor x und dazu gehörigen Vektor y.
Nun möchte ich den letzten Wert 7 variieren, so dass er die werte 7,8,9,10 annehmen soll.

Habe folgenden Code erstellt, jedoch weis ich nicht, wie ich jetzt den x Vektor neu iterativ erstellen kann. So dass ich 4 unterschiedliche x Vektoren habe.
x=[1,2,3,4,5,6,7]
x=[1,2,3,4,5,6,8]
x=[1,2,3,4,5,6,9]
x=[1,2,3,4,5,6,10]

Code:

x=[1,2,3,4,5,6,7]
y=[5,10,15,20,25,30,0]


% Variation des letzten Wertes in x
x_end=[];

for i=1:3
    x_add = x(end)+i;
    x_end=[x_end;x_add];

end


 x_add=[];

 


Danke für jede Hilfe

Grüße
Samil
Private Nachricht senden Benutzer-Profile anzeigen


Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 23.10.2013, 12:08     Titel:
  Antworten mit Zitat      
Hallo Samil,

Code:


Code:

x{i}=x(end)+i;
 


Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
Samil
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 20.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.10.2013, 13:32     Titel:
  Antworten mit Zitat      
Hi Kascho,

danke erstmal für den Cell-Tipp.

jedoch verstehe ich das nicht ganz mit dem
Code:

x{i}=x(end)+i;  
 


ich habe es so mal manuell versucht.

Code:

x{1}=[1,2,3,4,5,6,7;1,2,3,4,5,6,8;1,2,3,4,5,6,9;1,2,3,4,5,6,10]
 


ich erhalte jetzt ein cell array mit diesen werten. sollte aber möglichst mit x(end) sein.

anschließend möchte ich diese werte nacheinander plotten, wie kann ich dies umsetzen??

Ist das auch mit einer for-schleife lösbar?


Grüße
Samil
Private Nachricht senden Benutzer-Profile anzeigen
 
Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 23.10.2013, 13:58     Titel:
  Antworten mit Zitat      
Zitat:
sollte aber möglichst mit x(end) sein.


Was meinst du damit?

Was willst du denn konkret als Ergebnis haben? Ich vermute:

n mal den Vektor x mit unveränderter länge und nur den letzten Wert in x immer um 1 erhöht?

Dann kannst du das ganze auch in eine Matrix schreiben.

Code:

x=1:5;
xx=repmat(x,length(x),1)
for k=1:length(xx)
xx(k,end)=xx(k,end)+k;
end

plot(xx');
 


Sowas in der Art?
Private Nachricht senden Benutzer-Profile anzeigen
 
Samil
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 20.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.10.2013, 15:33     Titel:
  Antworten mit Zitat      
Nein, sorry dass ich mich erstmal nicht richtig ausgedrückt habe.

ich möchte einen x Vector erstellen, bei dem sich nur der letzte wert sich ändert. und zwar dieser soll in einer schritten erhöht werden.
die anderen werte bleiben gleich. Auch der y wert soll sich nicht ändern.

In deinem letzt erwähnten erhöht sich mein y wert immer um eins.

Ich meinte x(end), dass ich verschiedene Bereiche habe und dieses in jedem Bereich anwenden muss. Zunächst betrachte ich den ersten Bereich.

Bei dem meine x und y Vektoren folgende sind:

Code:

x=[1,2,3,4,5,6,7]
y=[5,10,15,20,25,30,0]
 


der letze Wert, also hier 7 soll immer um eins erhöht werden bis 10.
so hätte ich 4 verschiedene x Vektoren.

Anschließend möchte ich diese plotten.

Hoffe, dass ich es etwas verständlicher darstellen konnte
Private Nachricht senden Benutzer-Profile anzeigen
 
Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 23.10.2013, 16:04     Titel:
  Antworten mit Zitat      
Sorry, aber wird für mich nicht klarer.

Definiere bitte:
-Bereich bzw. Bereich
-Was hat das ganze mit y zu tun? Bisher noch gar nix.

Hast du die bisherigen Code Beispiele mal laufen lassen und dir dir Variablen angeguckt? Da war nix passendes dabei?
Nochmal der Versuch mit cells:

Code:

x=1:7;
xx{1}=x;
for k=1:3
xx{k+1}=[x(1:end-1),x(end)+k];
end

figure
for k=1:length(xx)
plot(xx{k})
hold on
end
 



Da dies das gleiche macht wie voriger code, glaube ich nicht, dass es viel bringt. Besonders da es umständlicher ist. Aber vllt. dient es als Ansatz.

Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
Samil
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 20.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.10.2013, 10:07     Titel:
  Antworten mit Zitat      
Hi Kascho,

ich habe deine beiden Versionen geplottet. Jedoch bekommst du für beide Versionen im letzten Punkt verschiedene y-Werte.


Meine y-Werte sind feste Werte, diese dürfen sich nicht ändern. Der letzte Wert ist eine null.

y=[5,10,15,20,25,30,0]

Nur mein letzter x-wert ist variabel. Annahme: er ändert sich von 7-10.

x=[1,2,3,4,5,6,7]
x=[1,2,3,4,5,6,8]
x=[1,2,3,4,5,6,9]
x=[1,2,3,4,5,6,10]

Ich könnte diese alle manuell eingeben.

Jedoch möchte ich dies automatisieren.

Ich hoffe, dass das bild das Problem veranschaulicht.

Danke

Samil_plot.jpg
 Beschreibung:

Download
 Dateiname:  Samil_plot.jpg
 Dateigröße:  16.47 KB
 Heruntergeladen:  303 mal
Kascho_plot.jpg
 Beschreibung:

Download
 Dateiname:  Kascho_plot.jpg
 Dateigröße:  14.78 KB
 Heruntergeladen:  304 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 24.10.2013, 10:26     Titel:
  Antworten mit Zitat      
ok, jetzt verstehe ich was du meinst (denke ich). Hierzu fällt mir eigentlich nur:

Code:


ein. Für mein Beispiel mit der double Matrix:

Code:


Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
Samil
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 20.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.10.2013, 17:51     Titel:
  Antworten mit Zitat      
Danke Kascho, Wink

es hat prima funktioniert
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.