MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB GUI] 帮忙做一个GUI图形演示窗口 (https://www.labfans.com/bbs/showthread.php?t=8566)

qianxq2005 2009-05-23 17:10

帮忙做一个GUI图形演示窗口
 
具体是将下面两段程序仿真出的图形在上,下两个窗口中显示,上面显示程序1的图,下面显示程序2的图,用一个“开始”和一个“停止”命令控制其播放
程序1:Rh=2;
I=10*sin(pi/2);
mu0=4*pi*1e-7;
C=mu0/(4*pi)*I;
x=linspace(-3,3,20);
y=x;
Nh=20;
theta0=linspace(0,2*pi,Nh+1);
theta1=theta0(1:Nh);
y1=Rh*cos(theta1);
z1=Rh*sin(theta1);
theta2=theta0(2:Nh+1);
y2=Rh*cos(theta2);
z2=Rh*sin(theta2);
dlx=0;
dly=y2-y1;
dlz=z2-z1;
xc=0;
yc=(y2+y1)/2;
zc=(z2+z1)/2;
NGx=20;NGy=20;
m=moviein(180);
for C=1:180
for i=1:NGy
for j=1:NGx
rx=x(j)-xc;
ry=y(i)-yc;
rz=0-zc;
r3=sqrt(rx.^2+ry.^2+rz.^2).^3;
dlXr_x=dly.*rz-dlz.*ry;
dlXr_y=dlz.*rx-dlx.*rz;
Bx(i,j)=sum(C*dlXr_x./r3);
By(i,j)=sum(C*dlXr_y./r3);
end
end
clf;plot(y,By);
m(:,C)=getframe
pause(0.2)
end
movie(m,1)
程序2:s=0.2; x1=0; % 确定起始点横坐标x1及其增量
nframes = 180; % 确定动画总帧数
for k = 1:180
x1=x1+s; % 确定画图时横坐标终止值x1
x2=0:0.01:x1; y2=sin(x2);
plot(x2,y2); % 在x=[0 x1]作y=sin(x)曲线
axis([0 2*pi -1 1]) % 定义坐标轴范围
grid off % 不显示网格线
M(k)=getframe; % 将当前图形存入矩阵M(k)
end
pause(0.02)
movie(M,3) % 重复3次播放动画M

xsprinkle 2009-05-23 20:41

回复: 帮忙做一个GUI图形演示窗口
 
我对这类问题也很疑惑,我只能做显示一张图的,也就是用一个AXIS 窗口显示。
为什么做好GUI后,没有axis的 CALLBACKE函数?也就是没办法指定在某个axis中显示了。

急切盼望指点迷津。。。。

大学生 2009-05-24 20:14

回复: 帮忙做一个GUI图形演示窗口
 
1 个附件
是这个样子吗?(为啥必须要10个字才能回复?)

ft8023 2009-05-25 11:12

回复: 帮忙做一个GUI图形演示窗口
 
各位谁有虚拟示波器的界面,,基于MATLAB和声卡的。。。非常急,,只需界面核心部分。。非常感激。、。酬谢

xsprinkle 2009-05-25 20:01

回复: 帮忙做一个GUI图形演示窗口
 
[QUOTE=大学生;28526]是这个样子吗?(为啥必须要10个字才能回复?)[/QUOTE]

怎么在一个有多个axes的GUI中,指定plot绘图的区域
我找不到axes 得callback 函数,没办法指定绘图的地方。

大学生 2009-05-25 22:37

回复: 帮忙做一个GUI图形演示窗口
 
利用axes对象的句柄操作就可以了

xsprinkle 2009-05-29 09:33

回复: 帮忙做一个GUI图形演示窗口
 
[QUOTE=大学生;28612]利用axes对象的句柄操作就可以了[/QUOTE]

怎么用AXES的句柄,麻烦举例看看
比如说我有 handles_axes1和handles_axes2

我要在AXES1 中 绘图
geh=handles_axes1 ??

如是?恳求指点
谢谢

和平时代 2009-05-30 19:12

回复: 帮忙做一个GUI图形演示窗口
 
[QUOTE=xsprinkle;28773]怎么用AXES的句柄,麻烦举例看看
比如说我有 handles_axes1和handles_axes2

我要在AXES1 中 绘图
geh=handles_axes1 ??

如是?恳求指点
谢谢[/QUOTE]
大概这样吧:
axes(handles.handles_axes1);
plot( , );

xsprinkle 2009-06-05 21:12

回复: 帮忙做一个GUI图形演示窗口
 
[QUOTE=和平时代;28831]大概这样吧:
axes(handles.handles_axes1);
plot( , );[/QUOTE]

Reference to non-existent field 'handles_axes1'.

生成的GUI 程序没有 handles_axes1这个句柄。。。
我的疑惑就是在 figure 中有 axes1和axes2,为什么在M文件中没有对应的callback函数?
请望指教

kiwipie 2009-08-17 17:49

回复: 帮忙做一个GUI图形演示窗口
 
cla(handles.axes1)


所有时间均为北京时间。现在的时间是 11:27

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.