Решите переменный коэффициент PDE
Я пытаюсь решить определенный PDE (2 переменные) с помощью PDEtoolbox.
Уравнение -(laplacian)u + V*u = 1
, эллиптическое уравнение с c
а также f
равно 1
, а также a=V
которая представляет собой функцию с двумя переменными, определенную в m-файле. У меня есть некоторые проблемы с определением V
, Вот код файла (M
глобальная матрица уже определена)
function v = V(x,y)
global M
[i,j]=size(M)
intx=int32(floor(i*x)+1)
inty=int32(floor(j*y)+1)
v = M(intx,inty)
Можно построить функцию, но когда я пытаюсь поставить V(x,y)
в a
В поле "Спецификации PDE", когда я спрашиваю решение уравнения, я получаю следующее сообщение об ошибке:
'Expression evaluates to wrong size. Must be scalar or row vector. In a system case, pass first or second row; for example u(2,:). In expression: '-ux' when evaluating pde coefficients.'
Любая помощь будет приветствоваться, объясняя, почему это не работает, или давая мне другой способ решить уравнение.