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

area2.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=['m2  ','dm2 ','cm2 ','mm2 ','dmm2','cmm2','um2 ','nm2 ','dam2','ha  ',...
    'km2 ','in2 ','yd2 ','mi2 ','ft2 ','acre'];
r=[1,10^2,100^2,1000^2,10000^2,10^10,10^12,10^18,0.1^2,0.01^2,0.001^2,6.45*10^4,0.836*10^4,...
    2.59*10^-6,929*10^4,0.405*10^-4];
[z,kn]=size(name);
k=kn/4;
for n=1:11
    b(n)=uicontrol('style','text',...
        'string',name(4*n-3:4*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(4*n-3:4*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',...
    ]);

Contact us