Partial Differential equation: Createpde. f as afunction

Hello, Using Createpde, how can I define f as a function (for example a Step function), instead of a constant?

回答 (1 件)

Torsten
Torsten 2025 年 9 月 14 日
編集済み: Torsten 2025 年 9 月 14 日

0 投票

Take a look at the example
"Coefficient Handle for Nonconstant Coefficients"
under
f = @fun;
%Set the coefficients in a 3-D rectangular block geometry.
model = createpde();
importGeometry(model,"Block.stl");
CA = specifyCoefficients(model,"m",0,...
"d",0,...
"c",1,...
"a",0,...
"f",f);
%Set zero Dirichlet conditions on face 1, mesh the geometry, and solve the PDE.
applyBoundaryCondition(model,"dirichlet","Face",1,"u",0);
generateMesh(model);
results = solvepde(model);
%View the solution on the surface.
pdeplot3D(model,"ColorMapData",results.NodalSolution)
function f = fun(location,state)
f = location.y.^2.*tanh(location.z)/1000;
end

製品

リリース

R2025a

質問済み:

2025 年 9 月 14 日

編集済み:

2025 年 9 月 14 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by