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

power2.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=['w      ','kgfm/s','cal/s  ','hp     ','btu/h  ','kw     ','erg/s  ','ftlbf/s','kcal/h '];
r=[1,9.80665,0.2388,1.36*10^-3,3.412,10^-3,10^7,0.738,0.86];
[z,kn]=size(name);
k=kn/7;
for n=1:k
    b(n)=uicontrol('style','text',...
        'string',name(7*n-6:7*n),...
        'position',p+n*d1+[0 0 250 0],...
        'FontSize',12,...
        'horizontalalignment','left');
    a(n)=uicontrol('style','edit',...
        'position',p+n*d1+d2,...
        'FontSize',12,...
        'horizontalalignment','right');
end
s=uicontrol('style','text',...
    'string','  ',...
    'position',[60 95 450 45]);
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',...
    ]);

Contact us at files@mathworks.com