我使用ode15s
来解决DAE问题。我通过odeset
质量矩阵和其他更多信息:
opts=odeset('Mass',M,'MassSingular','yes','MStateDependence','none');
我还计算了之前一次的Jpattern
。要将它提供给函数,我可以再写一次
opts=odeset('Mass',M,'MassSingular','yes','MStateDependence','none', 'JPattern',JPat);
有没有办法修改单个参数并保留结构的其余部分?
我试过
opts.JPattern = JPat;
但它没有用。
答案 0 :(得分:2)
您可以执行以下操作:
opts = odeset('Mass',M,'MassSingular','yes','MStateDependence','none');
opts = odeset(opts,'JPattern',JPat);
这是使用语法(参见documentation):
options = odeset(oldopts,'name1',value1,...)
改变现有的 选项结构oldopts
。这设置了与现有选项相等的选项 结构oldopts
,覆盖oldopts
中的任何值 使用名称/值对重新指定,并添加任何新对 结构体。修改后的结构作为输出参数返回。