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

 

Mitchy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2008, 19:23     Titel: Problem
  Antworten mit Zitat      
Ich habe folgenden Code geschrieben um die Kondition (kappa) einer 2x2 Matrix herauszubekommen:

Code:

function kappa_A=Kondition_A(A)

%Norm A
       
        for i=1:2
            Zeilensumme(i) = sum(abs(A(i,:)))
        end
       
        Norm_A = max(Zeilensumme(i))
       
       
%Norm Inverse von A
       
        A_inv = inv(A);
       
        for i=1:2
            Zeilensumme(i) = sum(abs(A_inv(i,:)))
        end
       
        Norm_A_inv = max(Zeilensumme(i))      % M A R K I E R U N G
       
%Kappa_A
       
        Kappa_A = Norm_A*Norm_A_inv
end

 



Der Code klappt auch soweit, nur dass er mir in der Zeile mit der Markierung nicht den maximalen Wert sondern den minimalen Wert ausgibt...

Kann mir wer helfen?

LG, Mitch

Edit by Bijick: Bitte beim nächsten Mal einen treffenderen Titel wählen!


Mitchy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2008, 19:25     Titel:
  Antworten mit Zitat      
Entschuldigung, hab vergessen zu erwaehnen dass ich mit der Unendlich Norm (Zeilensummennorm) gearbeitet habe.
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2008, 11:28     Titel:
  Antworten mit Zitat      
Hallo,

Code:
erledigt doch dein Problem, oder?

Egal, jedenfalls liegt der Fehler darin, dass du das Maximum von einem Wert suchst, richtig müsste es heissen:
Code:
max(Zeilensumme)
übrigens auch ein paar Zeilen weiter oben. Da i gleich 2 ist (an der Stelle wo du das Maximum berechnen willst), wird beidesmal der zweite Werte (Zeilensumme(2)) zurückgegeben.

MfG

Edit:
Code:
function kappa_A=Kondition_A(A)

%Norm A
       
        Zeilensumme = sum(abs(A),2);
        Norm_A = max(Zeilensumme);
       
%Norm Inverse von A
       
        A_inv = inv(A);
        Zeilensumme = sum(abs(A_inv),2);
        Norm_A_inv = max(Zeilensumme)
       
%Kappa_A
       
        Kappa_A = Norm_A*Norm_A_inv
end
So ist dein Code unabhängig der Matrixgröße (die Inverse muss allerdings existieren).[/code]
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.