Additional Inputs PDE Toolbox f coefficient
조회 수: 4 (최근 30일)
이전 댓글 표시
My code below is generating some sort of error, however I'm not sure the error message is consistent with the problem which is actually occuring. The aim is to input additional parameters to the f-coefficient in the PDEToolbox:
function f = f_coeffunction_3v(location,~,N_w,mag)
N = 3; % Number of equations
nr = length(location.x); % Number of columns
f = zeros(N,nr); % Allocate f
Quad = zeros(1,nr);
Quad(1:10) = 1;
Quad(12:end) = 2;
jo = N_w.*mag ./ 2; %Current Density Magnitude
f(1,Quad == 1) = jo; f(2,Quad == 1) = 0 ; f(3,Quad == 1) = 0 ;
f(1,Quad == 2) = 0 ; f(2,Quad == 2) = jo; f(3,Quad == 2) = 0 ;
end
N_w = 4; mag = 1;
f_fun = @(location,state)f_coeffunction_3v(location,state,N_w,mag); %Assign handle with correct functional form
f_vals = f_fun(location,[]); %Test values - identical to those from _2v.
specifyCoefficients(model,'m',0,'d',0,'c',c_coeff,'a',0,'f',@f_fun,'Cell',1);
Error using pde.CoefficientAssignment/checkCoefFcnHdlArgCounts (line 499)
Function specifying a coefficient must accept two
input arguments and return one output argument.
댓글 수: 0
채택된 답변
Ravi Kumar
2020년 3월 4일
Change to:
specifyCoefficients(model,'m',0,'d',0,'c',c_coeff,'a',0,'f',f_fun,'Cell',1);
Remove the @ symbol in front of f_fun, because you already created f_fun as function_handle when you defined it.
Regards,
Ravi
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Geometry and Mesh에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!