image thumbnail
from A Multiple Units Converter and a Calculator by Hong Zhang
It contains a units converter and a caculator using pure m files

weight2.m
hsp = uipanel('Parent',hp,'Title','','FontSize',12,...
              'Position',[0 0 1 1]);
p=[230 370 50 20];
d1=[0 -25 0 0];
d2=[-170 0 120 0];
name=['g  ','dg ','cg ','mg ','ug ','ng ','dag','hg ','kg ',...
    'q  ','t  ','sht','lt ','lb ','oz ','grn'];
r=[1,10,100,1000,10^6,10^9,0.1,0.01,0.001,...
    10^-5,10^-6,1.102*10^-6,0.934*10^-6,2.2046*10^-3,0.035273,15.432,...
    ];
[z,k3]=size(name);
k=k3/3;
for n=1:11
    b(n)=uicontrol('style','text',...
        'string',name(3*n-2:3*n),...
        'position',p+n*d1,...
        'FontSize',12,...
        'horizontalalignment','left');
    a(n)=uicontrol('style','edit',...
        'position',p+n*d1+d2,...
        'FontSize',12,...
        'horizontalalignment','right');
end
p1=[470 370 40 20];
for n=12:k
    b(n)=uicontrol('style','text',...
        'string',name(3*n-2:3*n),...
        'position',p1+(n-11)*d1,...
        'FontSize',12,...
        'horizontalalignment','left');
    a(n)=uicontrol('style','edit',...
        'position',p1+(n-11)*d1+d2,...
        'FontSize',12,...
        'horizontalalignment','right');
end
s=uicontrol('style','text',...
    'string','  ',...
    'position',[300 120 210 120]);
c=zeros(1,k);

set(a(1),'callback',['for f=1:k;','v=get(a(1),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(1);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(2),'callback',['for f=1:k;','v=get(a(2),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(2);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(3),'callback',['for f=1:k;','v=get(a(3),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(3);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(4),'callback',['for f=1:k;','v=get(a(4),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(4);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(5),'callback',['for f=1:k;','v=get(a(5),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(5);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(6),'callback',['for f=1:k;','v=get(a(6),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(6);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(7),'callback',['for f=1:k;','v=get(a(7),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(7);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(8),'callback',['for f=1:k;','v=get(a(8),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(8);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(9),'callback',['for f=1:k;','v=get(a(9),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(9);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(10),'callback',['for f=1:k;','v=get(a(10),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(10);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(11),'callback',['for f=1:k;','v=get(a(11),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(11);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(12),'callback',['for f=1:k;','v=get(a(12),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(12);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(13),'callback',['for f=1:k;','v=get(a(13),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(13);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(14),'callback',['for f=1:k;','v=get(a(14),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(14);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(15),'callback',['for f=1:k;','v=get(a(15),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(15);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);
set(a(16),'callback',['for f=1:k;','v=get(a(16),''string'');',...
    'b=str2num(v);',...
    'c(1)=b/r(16);',...
    'c(f)=c(1)*r(f);',...
    'b=num2str(c(f));',...
    'set(a(f),''string'',b);',...
    'end',...
    ]);

Contact us