⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 图形及函数.m

📁 该程序包括matlab中一些图形处理函数和数值计算函数
💻 M
字号:
% 实例9:饼图的绘制

function shili09
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','实例09');
t=[54 21 35;
    68 54 35;
    45 25 12;
    48 68 45;
    68 54 69];
x=sum(t);
h=pie(x);
textobjs=findobj(h,'type','text');
str1=get(textobjs,{'string'});
val1=get(textobjs,{'extent'});
oldext=cat(1,val1{:});
names={'商品一:';'商品二:';'商品三:'};
str2=strcat(names,str1);
set(textobjs,{'string'},str2)
val2=get(textobjs,{'extent'});
newext=cat(1,val2{:});
offset=sign(oldext(:,1)).*(newext(:,3)-oldext(:,3))/2;
pos=get(textobjs,{'position'});
textpos=cat(1,pos{:});
textpos(:,1)=textpos(:,1)+offset;
set(textobjs,{'position'},num2cell(textpos,[3,2]))

% 实例10:阶梯图

function shili10
h0=figure('toolbar','none',...
    'position',[200 150 450 400],...
    'name','实例10');
a=0.01;
b=0.5;
t=0:10;
f=exp(-a*t).*sin(b*t);
stairs(t,f)
hold on
plot(t,f,':*')
hold off
glabel='函数e^{-(\alpha*t)}sin\beta*t的阶梯图';
gtext(glabel,'fontsize',16)
xlabel('t=0:10','fontsize',16)
axis([0 10 -1.2 1.2])

% 实例11:枝干图

function shili11
h0=figure('toolbar','none',...
    'position',[200 150 450 350],...
    'name','实例11');
x=0:pi/20:2*pi;
y1=sin(x);
y2=cos(x);
h1=stem(x,y1+y2);
hold on
h2=plot(x,y1,'^r',x,y2,'*g');
hold off
h3=[h1(1);h2];
legend(h3,'y1+y2','y1=sin(x)','y2=cos(x)')
xlabel('自变量X');
ylabel('函数值Y');
title('正弦函数与余弦函数的线性组合');

% 实例12:罗盘图

function shili12
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','实例12');
winddirection=[54 24 65 84 
    256 12 235 62 
    125 324 34 254];
windpower=[2 5 5 3 
    6 8 12 7 
    6 14 10 8];
rdirection=winddirection*pi/180;
[x,y]=pol2cart(rdirection,windpower);
compass(x,y);
desc={'风向和风力',
    '北京气象台',
    '10月1日0:00到',
    '10月1日12:00'};
gtext(desc)

% 实例13:轮廓图

function shili13
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','实例13');
[th,r]=meshgrid((0:10:360)*pi/180,0:0.05:1);
[x,y]=pol2cart(th,r);
z=x+i*y;
f=(z.^4-1).^(0.25);
contour(x,y,abs(f),20)
axis equal
xlabel('实部','fontsize',16);
ylabel('虚部','fontsize',16);
h=polar([0 2*pi],[0 1]);
delete(h)
hold on
contour(x,y,abs(f),20)


% 实例14:交互式图形

function shili14
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','实例14');
axis([0 10 0 10]);
hold on
x=[];
y=[];
n=0;
disp('单击鼠标左键点取需要的点');
disp('单击鼠标右键点取最后一个点');
but=1;
while but==1
    [xi,yi,but]=ginput(1);
    plot(xi,yi,'bo')
    n=n+1;
    disp('单击鼠标左键点取下一个点');
    x(n,1)=xi;
    y(n,1)=yi;
end
t=1:n;
ts=1:0.1:n;
xs=spline(t,x,ts);
ys=spline(t,y,ts);
plot(xs,ys,'r-');
hold off

% 实例15:变换的傅立叶函数曲线

function shili15
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','实例15');
axis equal
m=moviein(20,gcf);
set(gca,'nextplot','replacechildren')
h=uicontrol('style','slider','position',...
    [100 10 500 20],'min',1,'max',20)
for j=1:20
    plot(fft(eye(j+16)))
    set(h,'value',j)
    m(:,j)=getframe(gcf);
end
clf;
axes('position',[0 0 1 1]);
movie(m,30)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -