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

Symbolische Matrix mit integral integrieren

 

Martin91

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2015, 23:35     Titel: Symbolische Matrix mit integral integrieren
  Antworten mit Zitat      
Hallo,
ich wollte mal fragen ob man eine symbolische Matrix die bei mir von r und s abhängt jeweils von -1 bis 1 mit integral2() integrieren kann?

Mit int() und subs bekomme ich eine singuläre Matrix in der späteren Rechnung obwohl das laut Lösung nicht sein sollte. (Mit einer Anderen Formel für die Integration bekomme ich keine singuläre Matrix.) Und wenn ich einen einzelnes Function Handle in integral2() einfüge dann geht das auch. Aber eine Matrix geht nicht. Jetzt hab ich das auch mit einer For-Schleife versucht die Werte einzeln einzugeben, hat aber auch nicht geklappt.

Code:

function Test

myIntegral=zeros(2);

for i =1:4
   
myIntegral(i)=integral2(symMatrix(i),0,1,0,1);
end
 


Code:

function funi=symMatrix(i)
syms r s
funi(i)=[3*r.*s,r;-s,r];

end


Error using integral2 (line 83)
First input argument must be a function handle.

Error in Untitled (line 5)
integral(i)=integral2(symMatrix(i),0,1,0,1);


Weiß jemand, wie ich jeweils ein einzelnen Wert der Matrix nehmen kann, ein function handle vorbauen kann und das dann in die Funktion integral2 einsetze? Die Symbolische Matrix nur in eine function zu schreiben klappt glaube ich nicht, da ein function handle benötigt wird.


Hier noch ein anderer Versuch

Code:

integral=zeros(2);


for i =1:4
   
integral(i)=integral2(symMatrix(i),1,-1,1,-1);
end

Code:

function funi=symMatrix(i)
syms r s
funi_=[3*r.*s,r;-s,r];
funi_i=funi_(i);
funi=@(r,s)funi_i;
end




Error using integral2Calc>integral2t/tensor (line 232)
Input function must return 'double' or 'single' values. Found 'sym'.

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);

Error in Untitled (line 7)
integral(i)=integral2(symMatrix(i),1,-1,1,-1);


Harald
Forum-Meister

Forum-Meister


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

integral2 ist für numerische Integration, nicht für symbolische. Für symbolische Integration sollte man int verwenden. Um zu sehen, warum dort nicht das gewünschte herauskommt, müsste man den Code mit int sehen.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.02.2015, 00:11     Titel:
  Antworten mit Zitat      
Ja, danke. Hatte nur gedacht weil wenn ich

Code:
integral2(@(r,s)3*r+s+1,-1,1,-1,1)

Aber gut, danke dann weiß ich bescheid.
Ich habe die selbe Aufgabe mit Mathematika vorher geschrieben gehabt, und da hatte ich genau die gleichen Probleme mit der singulären Matrix. Mit einer anderen Integrationsformel (die ich leider nicht mehr auswendig weiß) lief es dann. Die Aufgabe habe ich auch schon abgegeben, wollte aber es auch nochmal mit Matlab versuchen. Falls es jemanden interessieren sollte kann ich es ja hochladen. Aber das kann hier dann auf beantwortet gesetzt werden.

AufrufFEMElement.m
 Beschreibung:

Download
 Dateiname:  AufrufFEMElement.m
 Dateigröße:  148 Bytes
 Heruntergeladen:  347 mal
FEMElement.m
 Beschreibung:

Download
 Dateiname:  FEMElement.m
 Dateigröße:  3.28 KB
 Heruntergeladen:  375 mal
 
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.