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

Frage zu varargin

 

cordoba
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 13.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2013, 22:14     Titel: Frage zu varargin
  Antworten mit Zitat      
Hallo,

angenommen einer Funktion können folgende Variablen übergeben werden

[A, B]= abc(A, B, opt1, opt2, opt3, opt4)

und man möchte nur A, B und opt3 übergeben, wie muss man das machen?

[A, B]= abc(A,B, opt3) ???

In der ersten Zeile der Funktion steht:

function varargout=abc(varargin)

Gruß, cordoba
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 25.09.2013, 12:29     Titel:
  Antworten mit Zitat      
Hallo

da brauchen wir mehr Informationen, wir können ja nicht wissen , was passiert, wenn opt1 und opt2 nicht übergeben werden.

Aber auf keinen Fall kannst du die Stellen opt1 und opt2 auslassen, weil die Reihenfolge der Parameter muss stimmen.
Übergebe in diesem Fall Empty Arrays,
das musst du dann aber in der Funktion mit ISEMPTY prüfen, und gegebenenfalls auf einen Default Wert setzten

so:
Code:

[A, B]= abc(A,B,[],[], opt3)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
cordoba
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 13.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.09.2013, 16:15     Titel:
  Antworten mit Zitat      
Danke für Deine Antwort. Ok, ich muss mir noch einmal ganz in Ruhe die Doku des Programms ansehen...

Gruß, cordoba
Private Nachricht senden Benutzer-Profile anzeigen
 
cordoba
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 13.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.09.2013, 20:54     Titel:
  Antworten mit Zitat      
Hallo,

hier ein paar Infos zum Problem: Möchte ein allgemeines Eigenwertproblem mit schwach besetzten Matrizen lösen - und zwar mit dem JDQZ Algorithmus (siehe Anhang).

Quelle: http://www.staff.science.uu.nl/~sleij101/index.html

Problem: Ich bekomme die Fehlermeldung

Zitat:
??? Undefined function or variable "Target".

Error in ==> jdqz at 459
I=CheckSortSchur(Sigma,kappa); Target(1:length(I),: )=Target(I,: );


Kann mir das jemand erklären? In der Doku (siehe jdqz.m) steht u.a.

Zitat:
% LAMBDA=JDQZ(A,B) and JDQZ(A,B) return K eigenvalues of the matrix pair
% (A,B), where K=min(5,N) and N=size(A,1) if K has not been specified.

...

The remaining input arguments are optional and can be given in
% practically any order:
%
% [X,JORDAN,Q,Z,S,T,HISTORY] = JDQZ(A,B,K,SIGMA,OPTIONS)
% [X,JORDAN,Q,Z,S,T,HISTORY] = JDQZ('Afun','Bfun',K,SIGMA,OPTIONS)


Ich werd aus der Doku einfach nicht schlau.... Sad

Leider sind die Matlab Standardlöser für schwach besetzte Matrizen irgendwie überfordert (eigs und sptarn)...!?

Gruß, cordoba

P.s.: Sehe gerade, dass auf der homepage steht:

Zitat:
The code has not been fully tested yet and may change.


jdqz.m
 Beschreibung:

Download
 Dateiname:  jdqz.m
 Dateigröße:  76.75 KB
 Heruntergeladen:  400 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

es wäre gut, wenn du auch angibst, wie du den Code aufrufst.

Am besten sollte im übrigen der Autor des Codes weiterhelfen können.

Die Anzahl der Code-Analyzer - Warnungen lässt meines Erachtens davon abgesehen nicht gerade auf einen guten Programmierstil schließen.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 13.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.09.2013, 13:38     Titel:
  Antworten mit Zitat      
Danke für Deine Antwort. Aufgerufen wird das Programm mit
Code:
eigenwerte = jdqz(A,B)

Hab mir überlegt, dass es doch besser wäre, das allg. Eigenwertproblem mit einem "offiziellen" Matlab-Löser zu lösen (z.B. sptarn). Leider hat das bis jetzt nicht funktioniert. Ich werde dazu ein neues Thema eröffnen und die Fehlermeldungen posten...

Gruß, cordoba
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

bitte Beispieldaten für A und B posten, bei denen das Problem auftritt.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 13.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.10.2013, 09:38     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:

bitte Beispieldaten für A und B posten, bei denen das Problem auftritt.


Die Matrizen haben eine größe von ca. 1000 x 1000. Wie soll ich die hier am besten "posten"?

Gruß, cordoba
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

z.B. in einem .mat-File abspeichern.
Falls sich .mat hier nicht anhängen lässt, noch zippen.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 13.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2013, 11:23     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:

z.B. in einem .mat-File abspeichern.
Falls sich .mat hier nicht anhängen lässt, noch zippen.


Hallo Harald,

es hat sich gerade herausgestellt, dass ich die Randbedingungen in die Matrizen falsch eingebaut habe. Also bevor wir uns über die Lösung des allgemeinen Eigenwertproblems Gedanken machen, sollte natürlich der Inhalt stimmen Wink

Danke erstmal für Deine Hilfe! Ich brauch ca. 1 Woche, um die RB's einzubauen. Meld mich dann hier wieder....

Gruß, cordoba
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.