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

Not enough input arguments. bei ODE

 

ng83
Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 26.11.12
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 17.04.2014, 10:20     Titel: Not enough input arguments. bei ODE
  Antworten mit Zitat      
Hallo,

vllt. könnt ihr mit helfen. Ich weiß nicht was hier falsch ist.

Fehlermeldung : Not enough input arguments. in line 36. das ist die Zeile mit der if-Anweisung.
Code:

%einzelnes AP

%Vektor q:
%q(1)=V
%q(2)=m
%q(3)=h
%q(4)=n

%m,h,n Gate-Variablen für Ionenkanäle
%m Aktivierung des Na-Stroms
%h Deaktivierung des Na-Stroms
%n Aktivierung des K-Stroms

function dq=spannungsImpulse(t,q)
dq=zeros(4,1);

%Definition der Konstanten

gNa=120;    %max. Leitfähigkeit der Na-Kanäle in ms/cm^2
gK=36;      %max. Leitfähigkeit der K-Kanäle in ms/cm^2
gL=0.3;      %max. Leitfähigkeit der  L-Ströme in ms/cm^2

ENa=45;     %Umkehrpotential des Na-Stroms in mV
EK=-82;     %Umkehrpotential des K-Stomes in mV
EL=-59;  %Umkehrpotential der L-Ströme in mV

C=1;    %Kapazität der Membran in mikroFarad

%Zeitpanne
tmin=0;
tmax=120;

%Einzelimpuls mit Strom I zum Zeitpqunkt T

T=50;
if((t<=T-1)||(t>=T+1));
    I=0;
else
    I=-4;
end
% Abhängigkeit der Gate-Variablen von Membran-Spannung V

%am,ah,an Durchflussraten für m,h,n bei geöffneten Kanälen
am=0.1.*(((q(1)+45)/10)./(1-(exp((q(1)+45)/10))));
ah=0.07*exp(-(q(1)+70)/20);
an=0.1*((q(1)+60)/10)./(1-(exp((q(1)+60)/10)));

%bm,bh,bn Durchflussraten für m,h,n bei geschlossenen/halboffene Kanälen
bm=4.0*exp(-(q(1)+70)/18);
bh=1.0/(1-(exp(-(q(1)+40)/10)));
bn=0.125*exp(-(q(1)+70)/80);

%DGL
dq(2)=am.*(1-q(2))-bm.*q(2);
dq(3)=ah.*(1-q(3))-bh.*q(3);
dq(4)=an.*(1-q(4))-bn.*q(4);
dq(1)=-(1./C).*(gNa.*(q(2).^3).*q(3).*(q(1)-ENa)+gK.*(q(4).^4).*(q(1)-EK)+gL.*(q(1)-EL)+I);



%Ausgangspunkt

q0=[-61.3319,0.0452,0.6418,0.2975];

%Toleranz
opt=odeset('RelTol',-7);

[t,q]=ode45(@spannungsImpulse,[tmin,tmax],q0,opt);

subplot(1,2,1),plot(t,q(:,1));
h=plot(t,q(:,1));
xlabel('t in ms');
title('Spannung V');
legend(h,'V(t) in mV');

subplot(1,2,2),plot(t,q(:,2:4));
k=plot(t,q(:,2:4));
xlabel('t in ms');
title('Gate- Variablen ');
legend(k,'m(t), n(t), h(t)');
 


vielen lieben dank für eure hilfe.
ng
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: 17.04.2014, 12:36     Titel:
  Antworten mit Zitat      
Hallo,

ich kann das Problem nicht reproduzieren.

Mir ist nicht klar, was nun in welcher Datei gespeichert ist.

Die Funktion spannungsImpulse sollte in einer eigenen Datei sein. Allerdings wird dort tmin und tmax definiert, was in die Hauptdatei sollte. Und dann ist da noch ein Tippfehler:
Code:
opt=odeset('RelTol',1e-7);


Bei diesem Problem ist ode45 sehr langsam, daher würde ich stattdessen ode15s empfehlen.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 26.11.12
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 08.05.2014, 08:30     Titel:
  Antworten mit Zitat      
danke, jetzt klappt es.
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.