Модель PDE хранит исходные условия в InitialConditions собственность. Предположим model - имя модели. Получить исходные условия:
inits = model.InitialConditions;
Для просмотра активного назначения начальных условий для региона вызовите findInitialConditions функция. Например, создайте модель и просмотрите геометрию.
model = createpde(); geometryFromEdges(model,@lshapeg); pdegplot(model,'FaceLabels','on') ylim([-1.1,1.1]) axis equal

Задайте постоянные начальные условия для всех областей модели.
setInitialConditions(model,2);
Укажите другое начальное условие для каждого субрегиона.
setInitialConditions(model,3,'Face',2); setInitialConditions(model,4,'Face',3);
Просмотрите начальное назначение условий для области 2.
ics = model.InitialConditions;
findInitialConditions(ics,'Face',2)ans =
GeometricInitialConditions with properties:
RegionType: 'face'
RegionID: 2
InitialValue: 3
InitialDerivative: []
Здесь отображается признак «last assignment wins».
Просмотрите начальное назначение условий для области 1.
findInitialConditions(ics,'Face',1)ans =
GeometricInitialConditions with properties:
RegionType: 'face'
RegionID: [1 2 3]
InitialValue: 2
InitialDerivative: []
Назначение активных начальных условий для области 1 включает в себя все три области, хотя это назначение больше не активно для областей 2 и 3.
Чтобы удалить все исходные условия в модели PDE, используйте delete. Предположим model - имя модели. Снять все исходные условия с model.
delete(model.InitialConditions)
Для удаления определенных начальных назначений условий удалите их из model.InitialConditions.InitialConditionAssignments вектор.
icv = model.InitialConditions.InitialConditionAssignments; delete(icv(2))
Совет
Удаление начальных условий не требуется; их можно переопределить, позвонив по телефону setInitialConditions снова. Однако удаление неиспользуемых назначений может уменьшить размер модели.
Для изменения присвоения начальных условий требуется дескриптор начальных условий. Чтобы получить дескриптор начального состояния:
Сохранить дескриптор при использовании setInitialConditions. Например,
ics1 = setInitialConditions(model,2);
Получить дескриптор с помощью findInitialConditions. Например,
ics = model.InitialConditions;
ics1 = findInitialConditions(ics,'Face',2);Можно изменить любое свойство дескриптора начальных условий. Например,
ics1.RegionID = [1,3]; ics1.InitialValue = 2; ics1.InitialDerivative = @ut0fun;
Примечание
Редактирование существующего назначения таким образом не изменяет его приоритет. Например, если активные начальные условия в области 3 был назначен после ics1, затем редактирование ics1 для включения региона 3 не делает ics1 активное исходное состояние в регионе 3.