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

Problem mit Zuordnung M(L)=Matrix

 

chrisi99
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 09.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.04.2008, 21:17     Titel: Problem mit Zuordnung M(L)=Matrix
  Antworten mit Zitat      
Hallo Leute!

mich quält seit ein paar Tagen ein Problem. Und zwar möchte ich folgendes Realisieren:

In je einer Matrix a, b, c stehen die Koeffizienten der zugehörigen quad. Gleichungen ax^2+bx+c=0.

Nun muss man ja über die Koeffizienten eine Fallunterscheidung machen.

Das heißt, in die Lösungsmatrizen x1,x2 muss man unterschiedliche Funktionen "schreiben lassen".

Ich dachte mir, das ganze per logische indizierung zu machen, als etwa einen Vektor L1=(a~=0) gibt mir die Elemente, in denen a ungleich 0 ist.



Dann erstelle ich eine Dummymatrix x1=zeros(size(a)) (size von a, b und c müssen gleich sein).

wie kann ich jetzt nur dort in den Vektor a schreiben, wo auch die Bedingung L1 erfüllt ist?

ich dachte an etwas der Art x1(L1)=(-b+sqrt(D))./(2.*a), was jedoch auf Grund der unterschiedlichen Dimensionen einen Fehler ausspuckt?

wie kann ich dieses Verhalten also realisieren?

Lg
Chris

Code:
%Initialisieren der Eingabematrizen%
x1=zeros(size(a));

D=b.^2-4.*a.*c;

%Bedingungen%

L1=(a~=0);
L2=(a==0&b~=0);
L3=(a==0&b==0&c==0);

%berechne x1%
x1(L1)=(-b+sqrt(D))./(2.*a);
 
Private Nachricht senden Benutzer-Profile anzeigen


Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 09.04.2008, 21:56     Titel:
  Antworten mit Zitat      
Hallo,
es muss bei allen Vektoren der selbe logische Index verwendet werden:
Code:
x1(L1)=(-b(L1)+sqrt(D(L1)))./(2.*a(L1));

dann müsste es funktionieren. Wenn es nicht funktioniert, bitte auf die späte Zeit schieben Wink.

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
chrisi99
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 09.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.04.2008, 22:13     Titel:
  Antworten mit Zitat      
es funktioniert wunderbar, danke vielmals!

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.