1

(MATLAB 2010 学生版)

问题:我正在尝试使用“solve”命令求解具有 9 个符号变量的 9 个符号方程:

问题:

N=2

V = sym(zeros(N+2+1)); % 5*5 symbolic matrix

syms D x; %D is diffusion constant

%Creating 3*3 non-zero symbolic entries
for row = 0:N
    for col = 0:N
        V(row+1, col+1) = sym(sprintf('V%d%d', row+1, col+1));
    end
end

count=1;
for m=0:N
    for n=0:N
        % Diffusion PDE written in Differential Transform domain
        eqn(count) = (m+1)*V(m+1+1,n+1)-D*(n+1)*(n+2)*V(m+1,n+2+1);  
        count=count+1;
    end
end

%length(eqn) is 9

eqn=eqn(1:7);      %as last 2 terms are [0 0] in eqn

PDE 的初始条件由 Dirac Delta func ("delta(x)") 给出。因此,它由 2 个条件组成(一个代表 x=0,一个代表 x 不等于 0)

因此,在 x=0 时,它是“1”,给出:

eqn(length(eqn)+1)=V(1,1)-V(2,1)+V(3,1)-1; % ini.condn

在 x 不等于 0 时,它是“0”给出:(这有意义吗?)

eqn(length(eqn)+1)=(V(1,1)-V(2,1)+V(3,1))+(V(1,2)-V(2,2)+V(3,2))*x + (V(1,3)-     
V(2,3)+V(3,3))*x^2; %ini. condn

S=solve(eqn,'V11' ,'V12' ,'V13' ,'V21' ,'V22' ,'V23' ,'V31' ,'V32' ,'V33');

答:S.V11、S.V12、S.V13、S.V21 是 'z' 的函数。其余为 0

我的解决方案中出现了“z”。

  1. 解决方案中的“z”是什么?这是什么来源?

  2. 如何规避这一点并获得有意义的解决方案?

提前致谢

4

1 回答 1

0

z参数意味着对于z您替换的任何值,您的解决方案集对您的方程有效。

你有九个方程来找到九个未知数。但是,您的第六个方程式2*V33=0使以下方程式-2*D*V33=0变得多余……因此您实际上只有八个独立的方程式,因此额外的参数z。我不知道更多关于你的 PDE 的细节来告诉你为什么它不是合适的,但如果你期望一个唯一的解决方案,基本上你需要另一个涉及你的非零变量的方程。

于 2013-01-14T03:07:58.490 回答