2017-03-12 1 views
0

루프의 it의 모든 범위에서 출력이 C 값이 되길 원합니다.유한 요소 분석, 1

실행할 때 error in sym/subref, L_tilde, idx이 표시됩니다.

나는 그것이 무엇을 의미하는지 모른다.

1) 당신은

(C(i,t+dt) - C(i,t))/dt = ... 

불법 문 있도록 두 개의 출력을 할당 할 수 없습니다 :이 가정

syms C; 

alphaX=0.05; 
DiffCoef = 5*10^-5 

v = 0.1; 
L = 10; xZones = 100; 

dx = L/xZones; 

T = 150; 
u = 0.1; 

dt= 0.005; 
    t = 150; 
    D = DiffCoef + (alphaX * u); 

for i = 1:xZones 
    for t = 1:xZones 

     (C(i,t+dt) - C(i,t))/dt = -u(C(i+1,t +dt) - C(i,t+dt))/dx + D(C(i+1,t+dt) - 2*(C(i,t+dt) + C(i-1,t+dt)))/(dx)^2 


    end 
end 

답변

0

몇 가지 문제가있다, MATLAB 코드입니다. matlab에 표현에만 (예를 들어, "거래"를 사용하지 않고) 하나 개의 출력을 반환 할 수 있습니다, 그래서 당신의 경우에 당신이 그것을 일반적으로 시간 차이 식 아무거나 보인다,

C(i,t+dt) = ... 
C(i,t) = ... 

또한 같은 어쩌면 당신의 발현을 재 배열 할 것 F (t의 +의 DT는)는 알 수없는 (왼쪽), 그리고 F (t) 그래서 이전 시간 단계 (오른쪽)으로 알려진 값은 귀하의 경우에는

f(t+dt) = dt*old_rhs - f(t) 

당신 매우 특이한 것으로 보이는 _C (i, t_dt) _를 처방 했으므로 방정식을 확인하십시오.