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

Matrixfunktion plotten [ f(x)=det(A-a*I) ]

 

Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2011, 09:21     Titel: Matrixfunktion plotten [ f(x)=det(A-a*I) ]
  Antworten mit Zitat      
Hallo,

ich habe folgendes Problem.
Die Aufgabestellung lautet:

Schreiben Sie ein Programm, welches das Schaubild der Funktion f zeichnet.

f(λ) = det(A-λ*I)

wobei
A = [2 1 0; 1 2 1; 0 1 2]
und
I = eye(3).

Ich habe zuerst versucht den plot Befehl zu nutzen (λ als x und f als y), aber dort erscheint folgende Fehlermeldung:
??? Error using ==> times
Matrix dimensions must agree.

Auch den contour Befehl habe ich ausprobiert, aber dort erscheint nichts (vieleicht habe ich auch etwas falsch eingegeben!?)...
Könnt ihr mir bitte helfen?! Es ist wirklich wichtig!
Danke[/math]


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.03.2011, 11:03     Titel:
  Antworten mit Zitat      
Hallo,

ich fürchte, du wirst hier um eine for-Schleife, die die Funktion für jedes einzelne lambda auswertet, nicht herumkommen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 25.03.2011, 13:40     Titel:
  Antworten mit Zitat      
Hallo,

zeoige uns doch mal genau, was Du versucht hast. Ohne den Code zu sehen, kann man kaum Verbesserungsvorschläge machen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2011, 17:04     Titel:
  Antworten mit Zitat      
achso entschuldigung...

Code:

A = [2 1 0; 1 2 1; 0 1 2];
I = eye(3);
L = linspace(-10,10);
B = A2-L*I;
f = det(B);
plot(L,f)
 


habe halt gedacht, dass man es wie eine normale funktion behandelt...
wie würde es denn mit for-schleife aussehen?![/code]
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2011, 17:07     Titel:
  Antworten mit Zitat      
Verbesserung:

B = A-L*I
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.03.2011, 01:47     Titel:
  Antworten mit Zitat      
Hallo,

Code:

A = [2 1 0; 1 2 1; 0 1 2];
I = eye(3);
L = linspace(-10,10);
f = zeros(1, length(L));
for i = 1:length(L)
  f(i) = det(A - L(i) * I);
end
plot(L, f);
 

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2011, 14:39     Titel:
  Antworten mit Zitat      
Wow, vielen vielen Dank.
Jetzt hab ichs verstanden und kann beruhigt in die Klausur gehn Wink
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2011, 22:44     Titel:
  Antworten mit Zitat      
Jetzt habe ich noch eine Frage:
Habe hier grade eine Aufgabe gefunden, bei der es mit dem Code nicht so ganz funktioniert, da die Variable in der Matrix liegt...

Sei

(Matrix siehe beigefügte Datei)

Plotten Sie f(t) := det(A(t)) für t є [-3,4]

matrix.PNG
 Beschreibung:

Download
 Dateiname:  matrix.PNG
 Dateigröße:  3.32 KB
 Heruntergeladen:  412 mal
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2011, 22:46     Titel:
  Antworten mit Zitat      
ich komme einfach nicht auf eine Idee wie es dort funktionieren könnte...

Ich brauche eure Hilfe, bitte. Ist sehr dringend da ich am Montag eine Klausur schreibe!
Vielen Dank
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.03.2011, 23:07     Titel:
  Antworten mit Zitat      
Hallo,

ist doch nun auch nichts anderes?

1. t definieren
2. Berechne jeweiliges f
- Definiere A in Abh. von t
- Werte f aus.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.03.2011, 11:50     Titel:
  Antworten mit Zitat      
ahhh okay...
Mein Code sieht nun so aus
Code:
t = linspace(-3,4);
f = zeros(1, length(t));
for i = 1:length(t)
    A = [2 i+2 2; -3 1 i-2; i -1 -2];
  f(i) = det(A);
end
plot(t, f);

und er funktioniert...
Ich muss zugeben, dass ich beim plotten von Matrizen noch nicht ganz durchblicke, aber das kommt sicherlich mit der Zeit.
Vielen Danke noch einmal. Confused
 
Harald
Forum-Meister

Forum-Meister


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

das ist aber wohl nicht das, was du möchtest. Du musst schon t(i) nehmen.

Code:
A = [2 t(i)+2 2; -3 1 t(i)-2; t(i) -1 -2];


Plotten: es werden aus den zusammengehörigen Komponenten Punkte gebildet, und die werden miteinander verbunden.

Grüße,
Harald
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 - 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.