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

Fehler/Warnung bei PDEPE Solver mit Matrix als Variable

 

sinus45grad
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 08.03.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.03.2017, 18:05     Titel: Fehler/Warnung bei PDEPE Solver mit Matrix als Variable
  Antworten mit Zitat      
Hallo alle zusammen,
ich schreibe gerade an meiner Bachelorarbeit und habe ein Problem bei meinem Programm, ich wäre sehr dankbar wenn mir jemand mit mehr Matlab wissen helfen könnte.
Ich bekomme folgende(n) Fehler bzw. Warnung ausgegeben:
Code:

Warning: Matrix is singular, close to singular or badly
scaled. Results may be inaccurate. RCOND = NaN.
> In Berechnung2>bcfun at 73/82
  In pdepe>pdeodes at 357
  In ode15s at 580
  In pdepe at 317
  In Berechnung2 at 13
Warning: Failure at t=0.000000e+00.  Unable to meet
integration tolerances without reducing the step size below
the smallest value allowed (7.905050e-323) at time t.
> In ode15s at 669
  In pdepe at 317
  In Berechnung2 at 13
Warning: Time integration has failed. Solution is available
at requested time points up to t=0.000000e+00.
> In pdepe at 323
  In Berechnung2 at 13
 

Ich habe wegen meinem Betreuer bei meinem Programm sehr viele der Variablen für diesen Post ändern müssen.
Was der Solver tun soll ist eine Lösung für jede der in A enthaltenen Zahlen zu finden. Dies tut er zwar scheinbar aber die Rechenzeit ist doch sehr lang und sollte es eine bessere Lösung geben wäre mir diese denk ich lieber.
Code:
% Das ist mein Programm.


function Berechnung2
   
   
   
    c       = 10;
    r       = 10;
    Z       = 10;
    m=2;                  
    x =linspace(0,r,c);
    t =linspace(0,Z,c);  
 
    sol=pdepe(m,@pdefun,@icfun,@bcfun,x,t);  
    u=sol(:,:,:);
 
   
u
 
   
function [c,f,s]=pdefun(x,t,u,DuDx)
   
     global A B
 
    LSG = rand(20);
   
    w=u/(u+1);                              
    v=(w/1000)/((w/1000)+((1-w)/1130));    
     
    A=LSG;        
    B=A+100;                                
   
   
    C=exp(-(w*(1-w)./(w*B+(1-w)*(3*B))));
    D=C*(1-v)^2*(1-v);
   
    %Bestimmung c,f,s
    c=1./D;
    f=DuDx;
    s=0;
 
 
function u0=icfun(x)
   
 
    u0=100;
 
   
function [pl,ql,pr,qr]=bcfun(xl,ul,xr,ur,t)  %Randbedingungen
   
 
    global A B
 
    Z=10^-3;
    Y=2e-2*(B/100)^(1.5);    
    X=4e-2*A-1-A^2-A^3;
    W=1./B;  
    V=X/W;
    U=1-1/10;
    T=1+(1-U);
    S=Z./(V*U);
    R=V/Y;
    Q=S.^0.5*R.^(1/3);
    P=S.^0.8*R/(1+S.^(-0.1)*(R.^(2/3)-1));
    O=2+(Q^2+P^2).^0.5;
    N=T*O*Y/S;
     
       
 
    wr=ur/(ur+1);                          
    vr=(wr/1000)/((wr/1000)+((1-wr)/1130));
    M=exp(log(vr)+(1-vr)+(1-vr)^2);  
    L=exp(1./A-2*10^(-2)*A+1*10^(-5)*A^2*log(A));
    K=L/(1/M-L);  
   
   
    F=exp(wr*(1-wr)./(wr.*(A)+(1-wr)*B));
    G=F*(vr)^2*(2*vr);
   
    %Randbedingungen:
    pl=0;  
    ql=1;
    pr=W*N*(K-10)*1/G; %
    qr=N;  
   
 

Sollte ich noch etwas näher spezifizieren sollen oder falls noch etwas unklar ist kann ich gerne noch mehr Informationen zum Programm schreiben.
Im Voraus schon mal danke für die Hilfe.
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.