|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我在下面的程序中实现输入第一个端口和最后一个端口的数据,通过循环计算出32个路长,再将这32路长用柱状图表示出来,但是当我改变了输入的数据后,画的图应该是随之变化的但是,却没有发生变化,请各位大大帮忙看下错在哪~~~~下面是程序内容
clear all
hedita=uicontrol('style','edit',...
'tag','tag_a_edit',...
'position',[200,340,20,20] );
heditg=uicontrol('style','edit',...
'tag','tag_g_edit',...
'position',[200,360,20,20]);
m1=0;
m2=0;
m3=0;
m4=0;
m5=0;
m6=0;
k=1
valuea=str2num(get(hedita,'string'));
valueg=str2num(get(heditg,'string'));
for b=0:1
for c=0:1
for d=0:1
for e=0:1
for f=0:1
sum=0;
sum=path2(m1,valuea,b)+path2(m2,b,c)+path2(m3,c,d)+path2(m4,d,e)+path2(m5,e,f)+path2(m6,f,valueg);
T_path(k)=sum;
T_node(k,:)=[path2(m1,valuea,b) path2(m2,b,c) path2(m3,c,d) path2(m4,d,e) path2(m5,e,f) path2(m6,f,valueg)];
k=k+1;
end
end
end
end
end
hplot=uicontrol('style','push',...
'position',[300,300,30,30]);
set(hplot,'callback', 'bar(T_path)')
%子函数:
function y=path2(m,a,b)
L_path=1;
S_path=10;
if m==0
if a==0&b==0 %模式0,即上路为短路径
y=S_path;
else y=L_path;
end
end
if m==1
if a==1&b==1 %模式1,即下路为短路径
y=S_path;
else y=L_path;
end
end
如果把
valuea=str2num(get(hedita,'string'));
valueg=str2num(get(heditg,'string'));
这两句放到callback里面就会出错
[ 本帖最后由 eight 于 2007-11-30 17:24 编辑 ] |
|