当一些以数值变化函数索引
4视图(30天)
显示旧的评论
我有一个问题,我的一个代码,我想改变指数函数当y y的值达到一个给定的值
我将给一个简单的例子:
= 1;
B = 2;
tspan = [0 5];
y0 = 0.01 [0];
[t、y] =数值(@ (t, y) odefcn (t, y, A、B), tspan, y0);
函数dydt =乐趣(t y, B)
如果y (1) > 0.6
% = 3(例子)永远改变
结束
dydt = 0 (2, 1);
dydt (1) = y (2);
dydt (2) = (A / B) * t。* y (1);
结束
%如果你这样做
函数dydt =乐趣(t y, B)
如果y (1) > 0.6
一个= 3
结束
dydt = 0 (2, 1);
dydt (1) = y (2);
dydt (2) = (A / B) * t。* y (1);
结束
% @命令窗口
一个=
1
一个=
3
一个=
1
一个=
3
我想要所有的3 s百分比。
接受的答案
darova
2020年4月24日
试一试
持续的
变量
函数主要
clc%明确命令窗口
清晰的功能%明显持久变量
= 1;
B = 2;
tspan = [0 5];
y0 = 0.01 [0];
[t、y] =数值(@ (t, y)有趣的(t, y, A、B), tspan, y0);
函数dydt =乐趣(t y, B)
持续的国旗%声明“国旗”作为persisten变量
如果isempty(标志)%如果“国旗”是空的定义“假”
国旗= false;
结束
如果y (1) > 0.6
国旗= true;%如果y(1) > 0.6定义标记“真正的”
结束
如果标志= = true
= 3;
结束
sprintf (y (1) = % f;= % d 'y (1))
dydt = 0 (2, 1);
dydt (1) = y (2);
dydt (2) = (A / B) * t。* y (1);
看到更多
持续的
3评论
darova
2020年4月24日
- 我想改变指数函数当y y的值达到一个给定的值
他想要的
一个= 3
后第一次
y (1) > 0.3
所以
一个= 3
即使y条件后(1)< 0.3
y (1) > 0.3
首次实现了