to plot a introduced function

조회 수: 2 (최근 30일)
reza hamzeh
reza hamzeh 2019년 10월 19일
답변: reza hamzeh 2019년 10월 19일
hi. i wrote 4 functions. now i want to plot the forth function but it gives me errors. plz help me to plot it.
plot3(C(J,d),J,d)
function ha = H(J,d)
sx=[0 1;1 0];
sy=[0 -1i;1i 0];
sz=[1 0;0 -1];
ha = J/2*(kron(sx,sx)+kron(sy,sy)+kron(sz,sz))+d*(kron(sx,sy)-kron(sy,sx));
end
function ro = R(J,d)
T=0.5;
ro = expm(-H(J,d)/T)/trace(expm(-H(J,d)/T));
end
function la = landa(J,d)
sy=[0 -1i;01i 0];
s=kron(sy,sy);
la = real(sqrt(eig(R(J,d)*s*conj(R(J,d))*s)));
end
function co = C(J,d)
co=max(0,2*max(landa(J,d))-sum(landa(J,d)));
end
  댓글 수: 1
David Hill
David Hill 2019년 10월 19일
What do you want plotted? co will be a row vector for a given inputs J and d. How do you want to vary J and d and then do you want and 3D plot of J,d and every element of co?

댓글을 달려면 로그인하십시오.

채택된 답변

David Hill
David Hill 2019년 10월 19일
J=-1:.1:1;
d=0:.1:5;
[J,d]=meshgrid(J,d);
Z=zeros(size(J));
for i=1:size(J,1)
for j=1:size(J,2)
Z(i,j)=C(J(i,j),d(i,j));
end
end
surf(J,d,Z);
The above plots the surf plot of the J,d grid with height Z.

추가 답변 (2개)

reza hamzeh
reza hamzeh 2019년 10월 19일
for any J and d, co is a number. its not a vector. i want to plot co for 0<d<5 and -1<J<1 but i dont know how to do that. plz help me.

reza hamzeh
reza hamzeh 2019년 10월 19일
thank u very much

카테고리

Help CenterFile Exchange에서 Exploration and Visualization에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by