Gui doesnt work in windows
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello,
I made this GUI
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
a=0;
b=0;
plot(a,b,'ko');
text(a-0.5,b-0.5,[' (', num2str(a), ', ', num2str(b), ')'])
hold on
grid on
x = [-10000:0.1:10000];
y = [-10000:0.1:10000];
a=str2num(get(handles.edit1,'string')) ;
b=str2num(get(handles.edit2,'string'));
c=str2num(get(handles.edit3,'string'));
syms x y
eq3=a*x+b*y==c;
eq1=ezplot(a*x+b*y==c)
set(eq1,'color','blue','linestyle','-','linewidth',2)
title([])
hold on
If i run this from inside matlab its ok. But if I build .exe file and trying to run from windows only pushbutton doesnt work.
댓글 수: 0
채택된 답변
Walter Roberson
2016년 6월 5일
x = [-10000:0.1:10000];
y = [-10000:0.1:10000];
Y = (c - a * x) / b;
Y(~ismember(Y, y)) = nan;
plot(x, Y);
But you are probably going to be disappointed, as it is likely that very few of the calculated Y values are going to exactly match one of your y values. I predict that you would be happier with
Y = (c - a * x) / b;
Y = round(Y,1);
plot(x, Y);
or
Y = (c - a * x) / b;
Y(Y < y(1) | Y > y(end)) = nan;
plot(x, Y);
or both combined.
Y = (c - a * x) / b;
Y = round(Y,1);
Y(Y < y(1) | Y > y(end)) = nan;
plot(x, Y);
댓글 수: 0
추가 답변 (1개)
Image Analyst
2016년 6월 5일
It's probably because ezplot() can't be compiled. Often little applets like that can't be included in a compiled app. Try to plot it manually with plot() or contour(). Don't declare x and y as syms. They don't need to be.
댓글 수: 3
Image Analyst
2016년 6월 5일
What do you mean you can't find a solution for it?
I gave you the solution for it: Use plot() instead of ezplot().
You'll have a lot more control over what you get anyway.
참고 항목
카테고리
Help Center 및 File Exchange에서 Particle & Nuclear Physics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!