|
|
|
Neuling braucht Hilfe in Sachen Quelltext bzw. beim Program |
|
| Die Verzweifelte |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2011, 11:43
Titel: Neuling braucht Hilfe in Sachen Quelltext bzw. beim Program
|
 |
Hallo zusammen
Matlab gibt mir immer wieder eine Fehlermeldung aus, wahrscheinlich auch zurecht. Ich bin mit dem Programmieren nicht so vertraut.
hier geht es darum jeweils einzelne Zeilen einem Vektor zu mutilplizieren. Quasi Skalarprodukt. Jeodch nimmt Matlab meinen ursprüngliche Quelltext auch nicht an, sodass ich es in den obigen Text umschreiben musste. Dies führt allerdings zu der gleichen Meldung.
Kann mir da wer einen Tipp geben? Ich wäre demjenigen wirklich sehr dankbar.
Hier ist mein ursprünglicher Quelltext
Mit freundlichen Grüßen und im Voraus vielen lieben Dank
Bitte Code-formattierung verwenden - danke! Jan S
|
|
|
|
|
|
| CrashBall89 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2011, 13:30
Titel:
|
 |
Hey,
was genau sagt die Meldung?
MfG
CrashBall89
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 03.11.2011, 13:43
Titel: Re: Neuling braucht Hilfe in Sachen Quelltext bzw. beim Prog
|
 |
Hallo Die Verzweifelte,
Matlab kann übrigens mit Matrizen rechnen. "c = L * b" oder etwas ähnliches ist wahrscheinlich genug.
gruß, Jan
|
|
|
|
| DenisR |

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 07.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2011, 13:45
Titel:
|
 |
Hi,
also ich würde dir empfehlen grundsätzlich in Matlab kein i oder j als Zähler zu verwenden, da du sie hier für den Imaginärteil einer Zahl verwendest.
Das sollte aber nicht das Problem sein.
Was soll die Funktion denn zurückgeben? Dein Rückgabeparameter ist x, jedoch wird dieses x an keiner Stelle im Code definiert.
Könnte das das Problem sein?
|
|
|
|
| soad |

Forum-Century
|
 |
Beiträge: 150
|
 |
|
 |
Anmeldedatum: 10.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2011, 13:56
Titel:
|
 |
|
Wie Jan geschrieben hat ist u.a. die Variable summe das Problem (Skalar vs. Vektor), dies könntest du z.B. vereinfachen zu
|
|
|
|
| Die Verzweifelte |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2011, 16:25
Titel:
|
 |
Wow so viel Hilfe. Erst mal vielen vielen Dank an alle Antwortgebenden
Also ich soll in Numerik so ein Programm schreiben, welches ermöglicht das LGS zu berechnen:
LRx=b
Wobei Lx=y
Und damit wäre Ly=b, wobei L und R Dreiecksmatrizen sind, sodass man hier x viel einfacher berechnen kann.
Ich hab dooferweise, nur einen Teil des Prog gepostet, weil der untere Teil des Progs ja äquivalent dazu ist und ich quasi durch die Antworten darauf schließen könnte ^^''' So viel zur Theorie...
Das hier ist das gesamte Prog.
L und R und b hab bereits gegeben.
Aber wenn ich die Funktion aufrufe, kommt das hier ._.
??? In an assignment A(I) = B, the number of elements in B and
I must be the same.
Error in ==> vorrueck at 5
y(k)=(b(k)-(L(k,1:k-1)'*y(1:k-1)))
Dabei sind
L=[1 0 0; -2 1 0; 4 5 1]
R=[2 -1 6; 0 3 9; 0 0 -2]
und
b=[18; -3; 231]
Vielen Dank im Vorraus
Bitte Code-Umgebung verwenden - Jan S
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 03.11.2011, 16:57
Titel:
|
 |
Hallo Die Verzweifelte,
Du kannst den Debugger benutzen, um solche Probleme zu lösen:
Dann stoppt Matlab wenn der Fehler auftaucht und Du kannst die Werte im Command-Window genauer untersuchen:
Das ergibt nämlich eine Matrix! Ich vermute, Du brauchst das Transponieren bei y.
Gruß, Jan
|
|
|
|
| soad |

Forum-Century
|
 |
Beiträge: 150
|
 |
|
 |
Anmeldedatum: 10.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2011, 17:58
Titel:
|
 |
Hier hast du noch einen kleinen Fehler: Die for-Schleife wird angegeben als "Startwert : Schrittweite : Endwert " , also in deinem Fall:
da du x(n) ja bereites explizit angegeben hast.
Weiters ist auch hier die Transposition vertauscht, wie Jan bereits geschrieben hat. Außerdem hast du bei der Rücksubstitution das y vergessen .
|
|
|
|
|
|
|
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.
|
|