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

Doppelintegral von Array

 

Phil254
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 31.01.13
Wohnort: München
Version: 2012b
     Beitrag Verfasst am: 14.02.2013, 16:03     Titel: Doppelintegral von Array
  Antworten mit Zitat      
Hallo an alle!

ich versuche gerade ein Doppelintegral von einer Matrix zu berechnen und schaffe es einfach nicht.
Ein Einfachintegral ist kein Problem mit
Code:
integral(M,x1,x2,'ArrayValued',true)


Für das Doppelintegral 'integral2' gibt es allerdings die Option ArrayValued nicht.
Ich bekomme das auch mit anderen Funktionen wie trapz, dblquad, quad2d oder was ich sonst noch gefunden hab nicht hin.

Danke für jede Hilfe!
Gruß,
Phil.
Private Nachricht senden Benutzer-Profile anzeigen


Phil254
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 31.01.13
Wohnort: München
Version: 2012b
     Beitrag Verfasst am: 15.02.2013, 11:58     Titel:
  Antworten mit Zitat      
*thema hochhohl*

Um das Problem nochmal zu spezifizieren:

Mit dem normalen Integral funktioniert das wunderbar:
Code:
M = @(x) [x.^2 1]
integral(M,0,1,'arrayvalued',true)
 

gibt mir
Zitat:
ans =

0.3333 1.0000


Und das Doppelintegral:
Code:
M = @(x,y) [x.^2 y.^2]
integral2(M,0,1,1,2)

liefert
Zitat:
Error using integral2Calc>integral2t/tensor (line 242)
Integrand output size does not match the input size.

Error in integral2Calc>integral2t (line 56)
[Qsub,esub] = tensor(thetaL,thetaR,phiB,phiT);

Error in integral2Calc (line 10)
[q,errbnd] = integral2t(fun,xmin,xmax,ymin,ymax,optionstruct);

Error in integral2 (line 107)
Q = integral2Calc(fun,xmin,xmax,yminfun,ymaxfun,opstruct);


Und mit 'arrayvalued',true bekomme ich die Fehlermeldung

Zitat:
Error using integral2ParseArgs (line 14)
Argument 'arrayvalued' did not match any valid parameter of the parser.

Error in integral2 (line 105)
opstruct = integral2ParseArgs(isImproper,varargin{:});


Mir ist natürlich klar, dass sich das Problem umgehen lassen würde.
Einmal wäre es natürlich möglich das Doppelintegral für jeden Eintrag der Matrix extra zu bilden, allerdings habe ich eine 6x6 Matrix und das ganze wäre etwas aufwändig und unschön meiner Meinung nach.
Alternativ könnte man ja auch zweimal ein Einfachintegral bilden. Hierbei habe ich jedoch das Problem, dass ich eine ziemlich komplexe Matrix mit syms Variablen integrieren will. Die symbolische Integration (int) packt das nicht, also muss ich es numerisch machen, mit 'integral'. Um das wiederum zu machen, muss ich die Matrix mit matlabFunction(M) umwandeln. Hierbei bekomme ich aber immer eine Funktion von 2 Variablen, also mit @(x,y) raus und kann diese nicht mit dem Einfachintegral integrieren.

Sodalla, ich hoffe ich habe nicht zuviel geschwafelt.
Ich bin für jede Hilfe super dankbar! Und auch für Kommentare wie 'geht nicht!' dann weiss ich, dass ich einen alternativen Weg wählen musss Wink

Danke!
Gruß,
Phil.
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.