小编The*_*guy的帖子

在Matlab中求解ODE时,是否可以使用匿名函数作为事件函数

是否可以在Matlab中使用匿名函数作为事件函数.我想做的基本上是

opt = odeset('Events', @(t,y) (deal(y(end)-t^2,1,0)));
[T,Y] = ode45(@odefun,[tstart tend],y0,opt);
Run Code Online (Sandbox Code Playgroud)

但是,这会返回一个错误,抱怨要处理的输出数量必须完全匹配.有没有其他方法使匿名函数返回多个参数?

events matlab anonymous-function ode

5
推荐指数
1
解决办法
485
查看次数

在MATLAB中验证输入时的最佳实践

在MATLAB函数中验证输入时,何时使用inputParser比断言更好.或者还有其他更好的工具吗?

validation matlab

4
推荐指数
1
解决办法
966
查看次数

A = A + B会分配新内存吗?

写作时

A = A + B;
Run Code Online (Sandbox Code Playgroud)

A和B beeing矩阵,MATLAB将执行"就地"即改变A中的元素,还是分配新的内存来存储结果?如果是这样,我该如何避免呢?

我想知道的原因是,例如,如果一个人写道

A = A + B + A^2;
Run Code Online (Sandbox Code Playgroud)

原始数据需要多次访问,因此不能简单地被第一次添加覆盖.

谢谢.

matlab memory-management

2
推荐指数
1
解决办法
115
查看次数