matlab 如何填充陆地颜色

2024-11-26 06:56:54
推荐回答(3个)
回答1:

建议使用area函数,莪自己编了一个关于太极的MATLAB小程序,你可以参考一下

clc,clear

hold on

t1=0:pi/100:2*pi;

x1=cos(t1)*4;

y1=sin(t1)*4;

t2=0:pi/20:pi;

x2=cos(t2)*2+2;

y2=sin(t2)*2;

t3=pi:pi/20:2*pi;

x3=cos(t3)*2-2;

y3=sin(t3)*2;

t4=0:pi/20:2*pi;

x4=cos(t4)+2;

y4=sin(t4);

t5=0:pi/20:2*pi;

x5=cos(t5)-2;

y5=sin(t5);

x6=[x1(:,1:101) x2 x3];

y6=[y1(:,1:101) y2 y3];

x7=[x1(:,101:201) x2 x3];

y7=[y1(:,101:201) y2 y3];

plot(x1,y1,'k')

area(x6,y6,'facecolor','k','linestyle','none')

area(x5,y5,'facecolor','w','linestyle','none')

area(x7,y7,'facecolor','w','linestyle','none')

area(x4,y4,'facecolor','k','linestyle','none')

希望采纳 下图是效果图

回答2:

用MatLab在两条曲线之间填充颜色,比较难以实现,这里提供一个简单的程序作为参考:

x=[1 2 3 4 5 6 7];
Y1=[2 3 4 5 6 7 8];
Y2=[3 4 5 6
7 8 9];
k=1;
for
i=0:length(x)-1

x1(k)=x(length(x)-i);

Z2(k)=Y2(length(x)-i);
k=k+1;
end
fill([x x1],[Y1 Z2],'b')
% fill
也可以换成patch

注:fill命令的含义是在某一个多边形区域内填充指定颜色,即命令中“b”来表示。fill([x
x1],[Y1 Z2],'b')具体含义为,[x x1]表示一个一个横向量【1 2 3 4 5 6 7 7 6 5 4 3 2

回答3:

原代码贴出来,看看....