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

LGS - Kegelschnitt

 

zyx
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.06.2018, 19:23     Titel: LGS - Kegelschnitt
  Antworten mit Zitat      
Hallo an alle,

Aufgabe ist es, für Kegelschnitte ein LGS aufzustellen.

Mein Code:

Code:

M = [xd.^2,2.*xd.*yd,yd.^2,xd,yd,ones(5,1)];
n = ceil(0+(7-1)*(rand(1)));
nl = zeros(1,6); nl(n)=true;
b = -M(:,nl==true);
D = M(:,nl==false);
s = b\D; s = [s(1:n-1) 1 s(n:end)]';
 


Bis auf den Vektor s sind auch alle Werte richtig. Eigentlich sollte es meiner Meinung nach
Code:
heißen, (?)

allerdings kommt dann folgende Fehlermeldung:

" Error using horzcat
Dimensions of matrices being cancatenated are not consistent."

Kann mir jemand helfen?
Vielen Dank im Voraus!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.434
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.06.2018, 21:18     Titel:
  Antworten mit Zitat      
Hallo,

poste bitte zumindest auch die Dimensionen von xd und yd.

s = b\D und s = D\b sind komplett unterschiedlich. Was richtig ist, kann man dir nur sagen, wenn du dazu schreibst, welche Gleichungen du überhaupt lösen willst. Allerdings sieht, soweit man hier überhaupt was sehen kann, die zweite Variante sinnvoller aus. Dann dürfte s ein Spaltenvektor sein, du behandelst es aber im folgenden Befehl als Zeilenvektor.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
zyx
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.06.2018, 11:24     Titel:
  Antworten mit Zitat      
Hallo Harald!

Vielen Dank für deine Hilfe!

Ja, da hast du natürlich vollkommen Recht, ich habe s wie einen Zeilenvektor behandelt und das
war auch schon der Fehler:

Code:

s = D\b;
s = [s(1:n-1); 1; s(n:end)];
 


Somit funktioniert alles wie es soll.

Vielen Dank!! Smile
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 - 2024 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.