|
|
Vektoren in Schleife benennen |
|
ger163609 |

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 02.09.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.12.2013, 16:50
Titel: Vektoren in Schleife benennen
|
 |
Hallo!
Ich habe folgendes Problem:
Ich habe eine 16x236 Matrix R, von der ich die Spalten mithilfe einer For-Schleife bearbeiten möchte. Konkret geht es darum, die 16 Elemente der Spalten per Interpolation auf 240 Elemente zu bringen. Bisher habe ich folgendes programmiert:
> for i=1:236
> yy(i)=spline(x,R(:,i),xx)
> end
x und xx sind 1x16 und 1x240 Vektoren, respektive. Sie dienen dazu, die die Dimension der Vektoren von 16 auf 240 zu erweitern.
Ich möchte gerne die neu generierten Vektoren nummerieren oder benennen, um sie später wieder zu einer neuen Matrix zusammenzufügen. Deswegen habe ich yy(i) definiert.
Wenn ich den Befehl ausführe, dann kommt folgende Fehlermeldung:
In an assignment A(I) = B, the number of elements in B and I must be the same.
Was habe ich falsch gemacht? Könnt Ihr mir bitte dabei helfen?
Gruß
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 03.12.2013, 17:23
Titel:
|
 |
die fehlermeldung ist doch recht einfach zu verstehen ^^ du versuchst einem einzelnen element yy(i) mehrere elemente zuzuweisen
eine möglichkeit wäre:
oder aber auch die verwendung von cells
ps bitte verwende die codeumgebung.
_________________
richtig Fragen
|
|
|
ger163609 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 02.09.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.12.2013, 20:09
Titel:
|
 |
vielen Dank für die Hilfe! Es funktioniert!
Ich habe eine weitere Frage:
Ich möchte jetzt mit der generierten 240x236 Matrix "d" in jeder Spalte eine Berechnung der 1. und 2. Reihe, der 2. und 3. Reihe, der 3. und 4. Reihe usw. vornehmen. Die Ergebnisse sollen eine 239x236 Matrix ergeben.
Mein Code lautet für die erste Spalte:
Wenn ich das aber für jede Spalte programmieren möchte, müsste der Programmcode dann nicht folgendermassen ausschauen?
Wenn ich das mache, dann werden alle Kombinantionen von i und j durchlaufen oder? Ist das so richtig?
Gruß und Danke schonmal!
[EDITED, Jan, Bitte Code-Umgebung benutzen - Danke!]
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 05.12.2013, 20:19
Titel:
|
 |
ich wiederhole mich noch einmal ^^ bitte benutze die code umgebung wenn du code postest. was klappt denn an deinem code nicht'? der einfachste weg um zu sehen obs klappt ist doch es einfach aus zuprobieren ^^
bist du dir sicher das i in den exponenten soll? irgendetwas hoch 236 kann recht schnell sehr groß werden. und das führ dann zu nummerischen ungenauigkeiten.
_________________
richtig Fragen
|
|
|
ger163609 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 02.09.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.12.2013, 15:15
Titel:
|
 |
Okay, ab jetzt verwende ich die Code-Umgebung!
Matlab nimmt den Code schon so auf wie ich ihn in programmiert habe, aber die Berechnung dauert ewig lange. Bisher habe ich noch kein Ergebnis. Ich bin mir nicht ganz sicher ob ich es so richtig programmiert habe, denn eigentlich ist die Berechnung nicht so kompliziert.
Da im Zähler (i+1) als Exponent steht und im Nenner (i) wird der Quotient nicht so groß. Ich kann nicht kürzen, da Zähler und Nenner unterschiedlich sind.
|
|
|
BlackDread |

Forum-Century
|
 |
Beiträge: 212
|
 |
|
 |
Anmeldedatum: 11.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2015a
|
 |
|
|
 |
|
Verfasst am: 10.12.2013, 15:51
Titel:
|
 |
Hallo,
preallozieren hilft in vielen Fällen, wenn man Matrizen in Schleifen befüllt.
Außerdem kannst du z.B. per tic toc schauen, wie lange eine Berechnung (z.B. ein Schleifendurchlauf) dauert.
Grüße
Chris
_________________
--> Kapieren statt Kopieren <---
____________________________________________________
FAQs sind dazu da, FAQs zu beantworten
Richtig fragen!
|
|
|
|
|
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.
|
|