Definite Integrals in for-loop

3 vues (au cours des 30 derniers jours)
T
T le 9 Sep 2016
Commenté : T le 22 Sep 2016
I'm trying to setup up this loop. But before I do that I need to declare the functions:
n_grid = 20; % Size of rid
Ms = [];
Js = [];
Ns = [];
Es = [];
J = linspace(0,1,1000);
kappa = 2.*sinh(2*J)./(cosh(2*J)).^2;
kappam = 2*(tanh(2*J)).^2-1;
z = exp(-2*J);
K1 = int(sqrt(1- kappam.^2 * sin(phi).^2), phi= 0.. pi/2)
% Calculating Energy & Magnetisation as a function of interaction strength
E = -J.*(coth(2*J)).*(1+(2/pi)*kappam.*K1(kappam));
An error for K1 shows as follows:
Undefined function 'K1' for input arguments of type 'char'.
Error in ising (line 12)
K1 := int(sqrt(1- kappam.^2 * sin(phi).^2), phi= 0.. pi/2)
What's wrong with my syntax?

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 9 Sep 2016
Modifié(e) : Andrei Bobrov le 9 Sep 2016
Please try code below
J = linspace(0,1,1000);
kappam = 2*(tanh(2*J)).^2-1;
f = @(phi)sqrt(1- kappam.^2 * sin(phi).^2);
K1 = integral(f,0,pi/2,'ArrayValued',true);
  11 commentaires
Walter Roberson
Walter Roberson le 22 Sep 2016
I had no problems with the software once I had done what I indicated above needed to be done.
You might notice that the code in ising.m is spaced oddly. That is because I copied it directly from the pdf and did not bother to change the spacing.
T
T le 22 Sep 2016
Strange. Those files work thanks.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB 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!

Translated by