2014-12-18 3 views
0

Я использую ode15s для решения проблемы DAE. Я даю через odeset массовую матрицу и некоторую информацию:Изменить один параметр odeset

opts=odeset('Mass',M,'MassSingular','yes','MStateDependence','none'); 

я вычисляю также Jpattern от предыдущего запуска. Для того, чтобы кормить его функции, я мог бы написать еще раз

opts=odeset('Mass',M,'MassSingular','yes','MStateDependence','none', 'JPattern',JPat); 

Есть ли способ изменить что один параметр и сохранить остальную часть структуры?

Я попытался

opts.JPattern = JPat; 

Но это не работает.

ответ

2

Вы можете, вероятно, сделать что-то вроде:

opts = odeset('Mass',M,'MassSingular','yes','MStateDependence','none'); 
opts = odeset(opts,'JPattern',JPat); 

Это использует синтаксис (см documentation):

options = odeset(oldopts,'name1',value1,...) изменяет существующий вариантов структуры oldopts. Это устанавливает параметры, равные существующей структуре oldopts, перезаписывает любые значения в oldopts, которые являются , с использованием пар имя/значение и добавляет любые новые пары в структуру . Измененная структура возвращается как выходной аргумент.

Смежные вопросы