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

Werte aus zwei 1xn in n 2x1 matrizen schreiben

 

qwertz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2011, 15:19     Titel: Werte aus zwei 1xn in n 2x1 matrizen schreiben
  Antworten mit Zitat      
Hallo zusammen ich habe folgendes problem ich habe eine Matrix y und eine x die haben die dimension 1:n ich möchte nun die n werte in p1bisn schreiben jeweils den zugehörigen x und y wert. Könnte mir jemand weiterhelfen.

ich hatte es so versucht klappt aber leider nicht

for i=1:n

p{i}(1)=y(i)
p{i}(2)=x(i)

end

leider klappt das nicht


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 18.11.2011, 15:36     Titel:
  Antworten mit Zitat      
also entwerder
Code:
is aber glaube ich nit ganz was du willst oder halt cells
Code:

p=cell(size(x))
for i=1:size(x)
p{i}=[x(i) y(i)]
end
Private Nachricht senden Benutzer-Profile anzeigen
 
soad
Forum-Century

Forum-Century


Beiträge: 150
Anmeldedatum: 10.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2011, 15:36     Titel:
  Antworten mit Zitat      
Code:
p = mat2cell([x;y], 2, [ones(length(x),1)]);

sollte funktionieren
Private Nachricht senden Benutzer-Profile anzeigen
 
qwertz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2011, 15:56     Titel:
  Antworten mit Zitat      
kann ich nun die werte aus der ersten zeile auch als punkt zeichnen ? also mittels plot()?
 
Greepy
Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 28.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2011, 16:33     Titel:
  Antworten mit Zitat      
qwertz hat Folgendes geschrieben:
kann ich nun die werte aus der ersten zeile auch als punkt zeichnen ? also mittels plot()?

Das geht so...
Code:
plot(p(1,:))     % für die erste Zeile
plot(p(2,:))     % für die zweite Zeile
plot(p(i,:))     % für die i-te Zeile


Sofern Du nicht zeilenweise, sondern spaltenweise abgespeichert hast, was aber eher unüblich ist, dann musst Du natürlich folgendes tun.

Code:
plot(p(:,1))     % für die erste Spalte
Private Nachricht senden Benutzer-Profile anzeigen
 
qwertz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2011, 13:57     Titel:
  Antworten mit Zitat      
dann kommt aber immer

Conversion to double from cell is not possible.
 
acrodaniel
Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 26.05.11
Wohnort: Innsbruck
Version: ---
     Beitrag Verfasst am: 19.11.2011, 14:53     Titel:
  Antworten mit Zitat      
die [] stehen für vectoren und nicht für strings
_________________

cheers buddy
Private Nachricht senden Benutzer-Profile anzeigen
 
soad
Forum-Century

Forum-Century


Beiträge: 150
Anmeldedatum: 10.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2011, 14:57     Titel:
  Antworten mit Zitat      
http://www.mathworks.de/help/techdo.....04bw6-98.html#br04bw6-117
Code:
Private Nachricht senden Benutzer-Profile anzeigen
 
qwertz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2011, 17:05     Titel:
  Antworten mit Zitat      
Da wird nun aber dann eine gerade geplotet wobei es eigentlich punkte sind
 
soad
Forum-Century

Forum-Century


Beiträge: 150
Anmeldedatum: 10.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2011, 17:56     Titel:
  Antworten mit Zitat      
Code:
Private Nachricht senden Benutzer-Profile anzeigen
 
qwertz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2011, 08:52     Titel:
  Antworten mit Zitat      
ich krieg es nicht hin Sad
hab zwar punkte hin bekommen allerdings sind die dann auf der stelle von zeile 1 wert 1 und noch mal wert 1. Für Y nimmt der dann nicht den zweiten wert aus der ersten Zelle
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.11.2011, 12:38     Titel:
  Antworten mit Zitat      
Hallo qwertz,

Das Antworten wäre deutlich leichter, wenn Du den relevanten Code postest, der das Problem reproduiziert. Dann könnte man hier sehr leicht die nötigen Änderungen zeigen. Ohne Deinen Code zu sehen, kann man aber nur raten, und das ist in der Regel eher verwirrend als hilfreich.

Eine Problembeschreibung wie "leider klappt das nicht" ist nicht hilfreich. Besser ist es, entweder die Fehlermeldung zu kopieren, oder den Unterschied zwischen den Ergebnissen und den Erwartungen detailliert zu erklären.

Zitat:
hab zwar punkte hin bekommen allerdings sind die dann auf der stelle von zeile 1 wert 1 und noch mal wert 1. Für Y nimmt der dann nicht den zweiten wert aus der ersten Zelle

Die beiden Sätze verstehe ich nicht.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
qwerzt

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2011, 14:04     Titel:
  Antworten mit Zitat      
Also ich habe ein Polygonzug programmiert den rechnert mir Maplap auch richtg aus allerdings hatte ich die Koordinaten zuerst in ein Vektor x und einen Vektor y geschrieben. Anschließend habe ich aus diesen Vektoren
Cellen generiert wo nun in der ersten Zeile und Spalte x1 und y1 drin stehen und in der zweiten x2 und y2 bis n nun sollen mir die Koordinaten mittels plot ausgegeben werden. Dies Klappt aber nicht ich bekomme bei dieser eingabe zwei kreise ausgegeben einen bei den werten x1,x1 und den anderen bei y1,y1. Aber es soll ja eigentlich hier nur ein kreis mit den Werten x1 und y1 sein.


p = mat2cell([x;y], 2, [ones(length(x),1)]);

axis([min(x-100),max(x+100),min(y-100),max(y+100)])


plot((p{1}),(p{2}),'o');
 
soad
Forum-Century

Forum-Century


Beiträge: 150
Anmeldedatum: 10.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2011, 14:17     Titel:
  Antworten mit Zitat      
Warum möchtest du ein Cell-Array haben? Das verkompliziert das Ganze eigentlich Wink.

Du kannst ja die Vektoren direkt plotten:
Code:
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: 21.11.2011, 14:20     Titel:
  Antworten mit Zitat      
Hallo qwerzt,

Deine Beschreibung macht das Antworten immer noch unnötig schwer. Manche Details verwirren nur, tragen aber nicht dazu bei, das eigentliche Problem zu beschreiben. Ob die Daten einen Polygonzug darstellen oder per RAND gebildet werden, tut nichts zur Sache, oder?

Wozu dient die Umwandlung in ein Cell-Array? Zum Zeichnen ist das offensichtlich hinderlich.

"p{1}" sind also die x- und y-Werte des ersten Punktes, "p{2}" die des zweiten Punktes. Wieso erwartest Du dann, dass dies:
Code:
p = mat2cell([x;y], 2, [ones(length(x),1)]);
plot((p{1}), (p{2}),'o');

nur einen Punkt zeichnet? Schau Dir doch mal "p{1}" und "p{2}" an.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.