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

Berechnete Werte in Vektor speichern?

 

sweety2210
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 09.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.08.2013, 19:44     Titel: Berechnete Werte in Vektor speichern?
  Antworten mit Zitat      
Hallo ihr Lieben,

hier ist mein Code:

Code:

v=[x y z];
for i=1:770
   
betrag_v=norm(v(i));

end
 


Mir werden ja jetzt 770 Beträge ausgerechnet. Leider werden die immer in der selben Variable gespeichert und somit immer neu überschrieben, sodass ich am Schluss ja nur einen Betrag habe.
Wie kann ich die 770 Beträge, denn in einem neuen Vektor speichern? Ist bestimmt total einfach. -.-

Danke schon mal. Very Happy
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 13.08.2013, 19:54     Titel:
  Antworten mit Zitat      
das sind die einfachsten grundlagen von matlab. du solltest wirklich das getting startet lesen. die dokumentation von matlab ist recht gut. oder ein wenig hier im forum lesen. kleiner tip : du sagst ihm ja auch das er immer die selbe variable überschreiben soll
_________________

richtig Fragen
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: 14.08.2013, 11:07     Titel:
  Antworten mit Zitat      
Hallo Sweety, winkow hat völlig recht. Du solltest dir doch erstmal die Grundlagen anschauen Wink

Aber um deine Frage zu beantworten:
Wie du bereits festgestellt hast wird in jedem Schleifen durchlauf dein betrag_v überschrieben. Am Ende der Schleife steht dort also das letzte Element von v.
Du musst also dein betrag_v ebenfalls mit dem index versehen.

Code:
betrag_v(i)=norm(v(i))


btw. sollte das auch ohne schleife funktionieren^^

und btw. bin ich mir nicht sicher ob norm das ist was du suchst Wink

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 09.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.08.2013, 20:06     Titel:
  Antworten mit Zitat      
Hey,

danke für die Antwort. Ich schau ja auch immer bei der Matlab help nach, aber ich find trotzdem nichts. Und im Internet genauso wenig (wahrscheinlich weils zu einfach ist und sonst niemand danach fragen muss Embarassed ).

Bin auf die Lösung schließlich auch selbst gekommen. Smile

"norm" rechnet mir doch den Betrag aus, oder? "v" ist bei mir ja ein Vektor, von dem ich die Beträge möchte.

So jetzt klappts auch nur das blöde ist, dass ich jetzt 1 Zeile und 770 Spalten habe, ich das aber andersum möchte.
Ich weiß, dass man einen Vektor mit " ' " transponiert, aber das klappt einfach nicht! Da hab ich auch schon überall geguckt (Google, Matlab help....).
Weiß da vielleicht jemand was? Embarassed

PS. Wie funktioniert das denn ohne Schleife?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 14.08.2013, 20:14     Titel:
  Antworten mit Zitat      
Zitat:
Ich weiß, dass man einen Vektor mit " ' " transponiert, aber das klappt einfach nicht!
klappt einfach nicht ist nicht besonders hilfreich. fehlerhafter code wäre hier besser.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
sweety2210
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 09.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.08.2013, 20:18     Titel:
  Antworten mit Zitat      
Eine Fehlermeldung kommt nicht. Das transponiert einfach nicht.

Code:

v=[x y z];
for i=1:770;
   
betrag_v(i)=[norm(v(i))];
betrag_v(i)=betrag_v(i)'

end
 


Habs auch schon mit einer Klammer versucht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 14.08.2013, 20:38     Titel:
  Antworten mit Zitat      
was soll da auch passieren ? du versuchst eine einzelne zahl zu transponieren. ^^
Code:
v=[x y z];
for i=1:770;    
betrag_v(i)=[norm(v(i))];
end
betrag_v=betrag_v'
 

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
sweety2210
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 09.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.08.2013, 22:35     Titel:
  Antworten mit Zitat      
Danke dir. Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 15.08.2013, 10:39     Titel:
  Antworten mit Zitat      
Hallo sweety,

mit norm kannst du dir zwar den Betrag berechnen, dafür ist es aber glaube ich nicht gemacht Wink
das was für deine Anwendung passender wäre ist abs

Code:
betrag_v = abs(v)


So erledigst du das, was du willst und der Code ist schön übersichtlich.

Viele Grüße

Chris

P.s.: Winkow hat einem Thread auf ein Gratisangebot von DeGruyter hingewiesen, da gibt es auch einige Matlab-Bücher, die dir beim Einstieg helfen könnten. http://www.gomatlab.de/gratis-buecher-t30010.html
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.