Error using * ?
5 views (last 30 days)
Show older comments
hi. i wrote these codes. but it gives me error. plz help me. how can i fix this error?
if handles.plot2.Value==1
var1=get(handles.varible1,'string');
range1=str2num(get(handles.range1,'string'));
H=str2num(get(handles.hamiltonian,'string'));
if handles.thermal.Value==1
sx=[0 1;1 0];
sy=[0 -1i;1i 0];
sz=[1 0;0 -1];
s=kron(sy,sy);
ro = expm(-H/T)/trace(expm(-H/T));
la = real(sqrt(eig(ro*s*conj(ro)*s)));
co=@(var1) max(0,2*max(la)-sum(la));
var1=range1;
for k = 1:numel(range1)
cov(k) = co(range1(k));
end
axes(handles.axes1);
plot(range1, cov)
end
end
%the error is
%matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)quantum('temperature_CreateFcn',hObject,eventdata,guidata(hObject))
%Error using *
%Inner matrix dimensions must agree.
%Error in quantum>run_Callback (line 225)
% la = real(sqrt(eig(ro*s*conj(ro)*s)));
%Error in gui_mainfcn (line 95)
% feval(varargin{:});
%Error in quantum (line 42)
% gui_mainfcn(gui_State, varargin{:});
%Error in
%matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)quantum('run_Callback',hObject,eventdata,guidata(hObject))
%Error while evaluating UIControl Callback.
2 Comments
Star Strider
on 14 Dec 2019
The error is clear menough:
Error using *
Inner matrix dimensions must agree.
Error in quantum>run_Callback (line 225)
la = real(sqrt(eig(ro*s*conj(ro)*s)));
Examine the sizes of the components of that expression to see what the problem is.
Walter Roberson
on 14 Dec 2019
Two many variables we do not know the size of.
Also, we have no reason to expect that the variable J will have a value at that point, so the str2num() is likely to return []
Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps 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!