to plot a introduced function

2 views (last 30 days)
reza hamzeh
reza hamzeh on 19 Oct 2019
Answered: reza hamzeh on 19 Oct 2019
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 Comment
David Hill
David Hill on 19 Oct 2019
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?

Sign in to comment.

Accepted Answer

David Hill
David Hill on 19 Oct 2019
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.

More Answers (2)

reza hamzeh
reza hamzeh on 19 Oct 2019
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 on 19 Oct 2019
thank u very much

Categories

Find more on Graphics Performance in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!