2016-03-04 2 views
0

В рамках более крупного проекта, я пытаюсь преобразовать модель MATLAB для питона, но есть одна часть у меня возникают проблемы, выясняя:Как преобразовать этот случай/переключатель MATLAB в код python?

f%% Parameters of the model: 1=K,R 2=Ca,T 3=KCa,H 4=Na 
g(1)=26; g(2)=2.25; g(3)=9.5; g(4)=1; 
E(1)=-.95; E(2)=1.20; E(3)=E(1); E(4)=.50; 

%% Initial values 
dt=.01; I_ext=0; V=-1; x=zeros(1,4); 
tau(1)=dt./4.2; tau(2)=dt./14; tau(3)=dt./45; tau(4)=1; 

%% Integration 
t_rec=0; 
% This is the loop I am confused about: 
for t=-100:dt:200 
    switch t; 
     case 0; I_ext=1; 
    end 
% until here.  
    x0(1)=1.24 + 3.7*V + 3.2*V^2; 
    x0(2)=4.205 + 11.6*V + 8 *V^2; 
    x0(3)=3*x(2); 
    x0(4)=17.8 + 47.6*V +33.8*V^2; 

    x=x-tau.*(x-x0); %rem x(4)=x0(4) because tau(4)=1 
    I=g.*x.*(V-E); 
    V=V+dt*(I_ext-sum(I)); 

%and this loop:  
    if t>=0; 
     t_rec=t_rec+1; 
     x_plot(t_rec)=t; 
     y_plot(t_rec)=V; 
    end 
end % time loop 
%until here. 

Как бы я Python-римента это?

+1

Почему это переключатель заявление, а не 'если т == 0 '? – Suever

+0

@Suever По той же причине, что цикл над 't' содержит значения, отличные от' 0': это не полный код, а попытка предоставить минимальный пример. (Теперь наблюдайте, как OP доказывает, что я ошибаюсь ...);) – beaker

+0

@beaker Я понимаю это, но тогда это плохой (слишком минимальный) пример, демонстрирующий, какая функциональность требуется. – Suever

ответ

2

заявление переключатель только один случай называется if statement

if t == 0: 
    I_ext = 1 
Смежные вопросы