Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

MATLAB 7 für Ingenieure: Grundlagen und Programmierbeispiel

Studierende:
weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

DASRT Fehler...Hilfe

 

LordTime

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.10.2015, 09:50     Titel: DASRT Fehler...Hilfe
  Antworten mit Zitat      
Hi Leute,

ich verzweifle langsam an folgendem Code (etwas weiter unten). Der Compiler meldet folgendes, und ich kann den Fehler nicht beseitigen. Kann mir bitte jemand helfen?

>> dassl_dasrt
error: 'x' undefined near line 124 column 5
error: called from
dassl_dasrt>g_on at line 124 column 4
dassl_dasrt at line 32 column 29
error: evaluating argument list element number 2
error: called from
dassl_dasrt at line 32 column 29

Code:
function dassl_dasrt()
% parameter - initialisation
global L = 25.33E-6;
global R1 = 1;
global R2 = 20;
global C = 100E-9;
global uT = 26E-3;
global iS = 10E-12;
global perioden = 6;

  t_end = (perioden/10^5);
  uC0   = 0;
  i0    = 0;
  iD0   = 0;
  uCdt0 = 0;
  idt0  = 0;
  iDdt0 = 0;

  x        = [uC0; i0; iD0];        % set initial values
  xdot     = [uCdt0; idt0; iDdt0];  
  x_0      = x;
  xdot_0   = xdot;
  t        = t_end;
  t_start  = 0;                     % start simulation at t = 0
  t_out    = t_start;               % first entry in t_out is t_start


  fcn_on = {@f_on,@j_on};
  fcn_off = {@f_off,@j_off};

  while t_start<t_end
    [x, xdot, t_out, istat, msg] = dasrt(fcn_on,g_on, x_0, xdot_0, t);
      x_0     = x(:,end);
      xdot_0  = xdot(:,end);

   
     [x, xdot, t_out, istat, msg] = dasrt(fcn_off,g_off, x_0, xdot_0, t);
      x_0     = x(:,end);
      xdot_0  = xdot(:,end);
      t_start = t_out(end);
 
   
  endwhile

  subplot(2,2,1)
    plot(t_out, x(:,1), '-b');    
      xlabel('t / [s]');
      ylabel('U / [V]')
      title('Spannung Uc')
  subplot(2,2,2)
    plot(t_out, x(:,2), '-r');    
      xlabel('t / [s]');
      ylabel('I / [A]');
      title('Strom I');
  subplot(2,2,3)
    plot(t_out, x(:,3), '-c');    
      xlabel('t / [s]');
      ylabel('I / [A]');
      title('Strom I_d');
       
endfunction




%Funktionen der DEAs

function on = f_on(x, xdot, t)
  global L;
  global C;
  global R1;
  global R2;
  global uT;
  global iS;
  u0 = 10*sin(2*pi*1e5*t);

  on = [xdot(1)-(1/C)*(x(2)+x(3)); xdot(2)-(1/L)*(u0-x(2)*R1-x(1)-(x(2)+x(3))*R2);x(3)-iS(exp((-x(1)-(x(2)+x(3))*R2)/uT)-1)];
endfunction

function off = f_off(x, xdot, t)

  global L;
  global C;
  global R1;
  global R2;
  global uT;
  global iS;
  u0 = 10*sin(2*pi*1e5*t);

  off = [xdot(1)-(1/C)*(x(2)+x(3)); xdot(2)-(1/L)*(u0-x(2)*R1-x(1)-(x(2)+x(3))*R2);x(3)];
endfunction

%Jacobi-Matrix

function j_on = j_on(x, xdot, t, c)
  global L;
  global C;
  global R1;
  global R2;
  global uT;
  global iS;
  global perioden;
  u0 = 10*sin(2*pi*1e5*t);

  j_on = [0 -1/C -1/C;1/L (R1+R2)/L R2/L;iS/uT*exp((-x(1)-(x(2)+x(3))*R2)/uT) iS*R2/uT*exp((-x(1)-(x(2)+x(3))*R2)/uT) iS*R2/uT*exp((-x(1)-(x(2)+x(3))*R2)/uT)] + c*[1 0 0;0 1 0;0 0 0];
endfunction

function j_off = j_off(x, xdot, t, c)
  global L;
  global C;
  global R1;
  global R2;
  global uT;
  global iS;
  global perioden;
  u0 = 10*sin(2*pi*1e5*t);

  j_off = [0 -1/C 0;1/L (R1+R2)/L 0;iS/uT*exp((-x(1)-x(2)*R2)/uT) iS*R2/uT*exp((-x(1)-x(2)*R2)/uT) 0] + c*[1 0 0;0 1 0;0 0 0];
endfunction

%Abbruchsfunktionen

function iD = g_on(x, t)
 iD=x(3);
endfunction

function uD = g_off(x, t)
  global R2;
  uD=-R2*(x(2)+x(3))-x(1);
endfunction
 


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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2021 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.