Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Matlab taking so much execution time

1 visualizzazione (ultimi 30 giorni)
AVM
AVM il 27 Gen 2020
Chiuso: MATLAB Answer Bot il 20 Ago 2021
I have a simple code here. But whenever I try to run this code, the system gets slower and start to hang frequently. Moreover, the run process seems to be never ending. Hence I forcefully shut down the pc several time. Pl , somebody see my code and solve the problem. Actually here, I am trying to get a 3d plot.
clc;clear;
syms theta phi b k alpha
alpha=1;
b=1;
sigma1=[0 1;1 0];
sigma2=[0 -1i;1i 0];
sigma3=[1 0;0 -1];
sigmap=1/2*(sigma1+1i*sigma2);
sigmam=1/2*(sigma1-1i*sigma2);
I=eye(2);
n=[sin(theta)*cos(phi) sin(theta)*sin(phi) cos(theta)];
a=sigma1*sin(theta)*cos(phi)+sigma2*sin(theta)*sin(phi)+sigma3*cos(theta);
d=kron(sigmap,sigmap)+kron(sigmam,sigmam);
h=1/2*alpha*b*kron(a,I)+k*d; %% a 4*4 matrix
[V,L]=eig(h);
u=V(:,1)./sqrt(sum(V(:,1).^2)); %%To make the normalization to the one of the eigen vector of h.
w=diff(u,phi); %% Derrivative of that eigen vector with respect to phi variable.
r=dot(u,w);
assume(theta>=0);
assume(phi>=0);
r=simplify(r,'Steps',100);
f=1/pi*1i*int(r,phi,0,2*pi);
f=simplify(f,'Steps',100);
ffcn=matlabFunction(f);
theta = linspace(0.001,4, 30);
k = linspace(0.001,10, 30);
[Th,K] = meshgrid(theta, k);
F=ffcn(Th,K);
figure
mesh(Th,K, F)
colormap(cool)
grid on
xlabel('\bf\theta','FontSize',14)
ylabel('\bf\alpha','FontSize',14)
zlabel('\bf\itf','FontSize',14)
  7 Commenti
AVM
AVM il 30 Gen 2020
@walter: I was trying without any optimization in the following code according to your advice, but without optimisation is taking more than 1day to excute but the execution yet not completeed.. It's really painful for me. Pl help me.
clc;clear;
syms theta phi b k alpha
alpha=1;
b=1;
sigma1=[0 1;1 0];
sigma2=[0 -1i;1i 0];
sigma3=[1 0;0 -1];
sigmap=1/2*(sigma1+1i*sigma2);
sigmam=1/2*(sigma1-1i*sigma2);
I=eye(2);
n=[sin(theta)*cos(phi) sin(theta)*sin(phi) cos(theta)];
a=sigma1*sin(theta)*cos(phi)+sigma2*sin(theta)*sin(phi)+sigma3*cos(theta);
d=kron(sigmap,sigmap)+kron(sigmam,sigmam);
h=1/2*alpha*b*kron(a,I)+k*d; %% a 4*4 matrix
[V,L]=eig(h);
u=V(:,1)./sqrt(sum(V(:,1).^2)); %%To make the normalization to the one of the eigen vector of h.
w=diff(u,phi); %% Derrivative of that eigen vector with respect to phi variable.
r=dot(u,w);
f=1/pi*1i*int(r,phi,0,2*pi);
theta = linspace(0.001,4, 30);
k = linspace(0.001,10, 30);
[Th,K] = meshgrid(theta, k);
F=f(Th,K);
figure
mesh(Th,K, F)
colormap(cool)
grid on
xlabel('\bf\theta','FontSize',14)
ylabel('\bf\alpha','FontSize',14)
zlabel('\bf\itf','FontSize',14)
Walter Roberson
Walter Roberson il 30 Gen 2020
Shrug. Get yourself a much much faster computer. Something overclocked and cooled with liquid nitrogen perhaps.

Risposte (1)

AVM
AVM il 28 Gen 2020
Thanks..okay,I am leaving it without any optimization (simplify() kind of thing) whole night.let see what happen...

Questa domanda è chiusa.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by