首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ode45中传递参数

在ode45中传递参数
EN

Stack Overflow用户
提问于 2015-11-04 11:29:43
回答 1查看 1.1K关注 0票数 0

我想在我的ode45函数中传递一个简单的参数。我的职能如下:

代码语言:javascript
复制
function dxdt = state( t,x,vgth,vgval)
p=1;
k=10^0.7;
window1=1-((2*x)-1).^(2*p);
dxdt=k*(vgval-vgth+1.2)*window1;  
end

主要剧本是:

代码语言:javascript
复制
clear all
step=0.01;
t = 0:step:10;
f=2*0.157;
vg = 5*sin(2*f*t);
x0=0.01;
vgth=1.9;
[t,x] = ode45(@(t,x) state1 (t,x,vgth,vg(t)), t, x0);
plot(t,x)

在这里,当我在参数传递中排除参数vg(t)时,整个过程都很好。但在争论中,它不适用于vg(t)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-04 12:08:01

将评论汇集到一个答复中:

代码语言:javascript
复制
function dxdt = state( t,x,vgth,vgval)
    p=1;
    k=10^0.7;
    window1=1-((2*x)-1).^(2*p);
    dxdt=k*(vgval-vgth+1.2)*window1;  
end

function vgval = vg(t)
    f=2*0.157;
    vgval = 5*sin(2*f*t);  
end 

step=0.01;
t = 0:step:10;
x0=0.01;
vgth=1.9;
[t,x] = ode45(@(t,x) state(t,x,vgth,vg(t)), t, x0);

希望这能如愿以偿。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33520702

复制
相关文章

相似问题

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