Unrecognized function or variable in Matrix element input
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Jan
le 9 Mar 2023
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.
Réponses (1)
Aman
le 13 Mar 2023
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 commentaires
Voir également
Catégories
En savoir plus sur Particle & Nuclear Physics dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!