Lösung linearer Gleichungssysteme mit dlarrays?
Show older comments
Ich bräuchte eine Funktion, um ein überbestimmtes Gleichungssystem aus dlarrays zu lösen (Vergleichbar mit torch.linalg.lstsq).
Der backslash operator unterstützt dlarrays nicht und ich habe auch sonst keine Information zu einem Workaround gefunden. Welche Möglichkeiten gäbe es sonst in Matlab?
Answers (1)
Harald
on 7 Jan 2025
0 votes
Hallo,
mit extractdata ist es möglich, die hinter einem dlarray liegenden Daten zu bekommen.
Hilft dir das weiter? Falls nicht, bitte ein Beispiel eines dlarrays anhängen (.mat-Datei oder den Code, der es erzeugt).
Viele Grüße,
Harald
4 Comments
Marian
on 10 Jan 2025
Harald
on 10 Jan 2025
Hallo Marian,
wenn du in deinem Code extractdata verwendest, funktioniert das zumindest soweit:
loss = @(p) sqrt(sum(((extractdata(p) * A)\f - x_target).^2));
Ob dir das weiterhilft, kann ich nicht beurteilen ohne zu verstehen, wie du genau damit weiterarbeiten willst.
Helfen kann auch, dass die Funktion zumindest im Falle skalarer Werte von p so umformuliert werden kann:
loss = @(p) sqrt(sum(( (A\f)/p - x_target).^2));
Falls du Ableitungen bilden möchtest, kann auch Symbolic Math Toolbox eine Alternative sein.
Viele Grüße,
Harald
Harald
on 13 Jan 2025
Hallo Marian,
danke für die Rückmeldung. Vielleicht kannst du deine Implementierung des ableitbaren QR-Solvers auch über File Exchange zur Verfügung stellen, falls andere das auch brauchen können.
Viele Grüße,
Harald
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!