Модель 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: []
Это показывает "последнюю характеристику" побед присвоения.
Просмотрите присвоение начальных условий для области 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.