首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ode45中传递随时间变化的值

如何在Ode45中传递随时间变化的值
EN

Stack Overflow用户
提问于 2015-10-02 11:30:25
回答 1查看 1K关注 0票数 1

我用它来解一个简单的ode函数。代码如下所示。

代码语言:javascript
复制
function window_sine

% Some constant values to be used later in the code.............

epsilon0=8.85*10^-12;
d_mos=0.65*10^-9;
epsilon_mos_min=5*epsilon0;
epsilon_mos_max=20*epsilon0;
d_g=10*10^-9;
epsilon_g=30*epsilon0;
epsilon_mos=5*epsilon0;
vt=0;
e=1.6*10^-19;  
n=[];
i=1;
u=30; % cm^2/v*S
h=1.05*10^-34;  % j*s
cond_d=e^2/h;

%tIME Step...........

step=0.1;
t = 0:step:10;

%Some other constant values..simple..............
c_g=(epsilon_g/d_g);
c_mos=(epsilon_mos/d_mos);
c_t=1/((1/c_g)+(1/c_mos));
% This below equation involves time "t" which is defined above.
vs=(1-(c_t/c_g))*t;

%ode function calling............

p0=0.01;
[t,p] = ode45(@state,t,p0);

%plotting the result..................

figure
plot(t,p)
title('State Variable')

%Now the Ode45 function.................

function dpdt = state( t,p)

nc=6.8*10^12;
smooth=1;   
vg=t;
k=10^-1;

window1=1-((2*p)-1).^(2*smooth);

% How to incorporate the time dependent "n" value here.......... 

dpdt=k*(n-nc)*window1;   

end

end

现在问题是函数中的"n“。它的时间相关值和值可以使用以下代码单独计算。

代码语言:javascript
复制
while i<length(t)
n(i)=((c_g*(t(i)-vs(i)-vt))/e)*(10^-4);% this 10^-4 is for cm^2 unit
i=i+1;
end

总之,"n“的值随"t”的增加而线性增加。应该指出,"t“在任何地方都是相同的,在导数中使用的时间是一样的。

问题是如何将这个与时间相关的"n“值合并到我编写了"n”的ode函数中。?在哪里编写这部分代码,在函数块中还是在主代码中?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-02 12:35:35

请注意,ode函数的第一个参数是时间,与时间相关的变量,如您的和流变学约束。因此,只需将常量提供给您的函数,并在ode-函数中执行随时间变化的计算。

例如:

代码语言:javascript
复制
function dydt = myodefun(t,y,c)
n=1+t*c; % calculate your time-dependent value n
dydt = [y(2)*c; (1-y(1)^2)*y(2)-y(1)];

例如,用以下方式运行:

代码语言:javascript
复制
c=1; % a constant, or a structure of constants
myodefunn=@(t,y)myodefun(t,y,c)
[tout,yout]=ode45(myodefunn,[0 20],[2 0]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32906230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档