Unrecognized function or variable in Matrix element input
조회 수: 3 (최근 30일)
이전 댓글 표시
Hello all, I am a very new MatLab user and I encounter an error in my code. I am writing enteries into a matrix, in which the entries are calculated by by summation and integration. It has an error of unrecognized variable "u". I have also tried to declare syms u; but it has even more serious error.
Omega = 1;
L=1;
Hamiltonian = [];
Omegak = -pi;
Vpi = 1;
V1 = 1;
T=1;
w=1;
syms t;
%Writing entries into a 5 x 5 matrix from calcuation by summation and integration
for p=1:1:5
for q=1:1:5
Hamiltonian(p,q) = p*Omega*kroneckerDelta(sym(p),sym(q)) - ((Omega*V1)/(2*T*Vpi))*symsum(exp(-i*u*Omegak)*(sin((u*w)/(2*pi*L))/((u*w)/(2*pi*L)))*int(cos(Omega*t)*exp(-i*Omega*t*(q-p-u)) ,t,0,T) ,u,0,100)
end
end
Hamiltonian(1,2)
댓글 수: 3
Jan
2023년 3월 9일
Whenever you mention an error message in the forum, attach a copy of the complete message. It is easier to fix a problem than to guess, what it is.
답변 (1개)
Aman
2023년 3월 13일
Hi,
I understand that you have written code for performing some calculation and you are getting error of unrecognized variable. Even after declaring the variable, you are getting some other error.
In your case the unrecognized variable error can be resolved by declaring it prior to its use.
Secondly “Hamiltonian(p,q)” calculation gives division by zero error which can be fixed by putting up the proper limits. Please refer the below code where I have updated the limit from 0 to 6.
Omega = 1;
L=1;
Hamiltonian = [];
Omegak = -pi;
Vpi = 1;
V1 = 1;
T=1;
w=1;
syms t;
syms u;
%Writing entries into a 5 x 5 matrix from calcuation by summation and integration
for p=1:1:5
for q=1:1:5
Hamiltonian(p,q) = p*Omega*kroneckerDelta(sym(p),sym(q)) - ((Omega*V1)/(2*T*Vpi))*symsum(exp(-i*u*Omegak)*(sin((u*w)/(2*pi*L))/((u*w)/(2*pi*L)))*int(cos(Omega*t)*exp(-i*Omega*t*(q-p-u)) ,t,0,1) ,u,6,100);
end
end
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Particle & Nuclear Physics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!