mdsk.net
当前位置:首页 >> MATLAB中如何对一条曲线和X轴之间的区域进行颜色的... >>

MATLAB中如何对一条曲线和X轴之间的区域进行颜色的...

ezplot('x^2-5*x-9',[-4 8 -20 20]);hold on;x = solve('x^2-5*x-9');x1 = double(x(1));x2 = double(x(2));xx = x2:.1:x1;yy = xx.^2-5*xx-9;patch(xx,yy,xx);plot(-4:8,zeros(1,13),'k-');plot(zeros(1,41),-20:20,'k-');hold off;

这个没有一次性的办法,只能用area分段拼凑出来了:close allx = 0:0.1:pi;y = sin(x);area(x,y,'FaceColor','r');hold onx = pi:0.1:2*pi;y = sin(x);area(x,y,'FaceColor','g');x = 2*pi:0.1:3*pi;y = sin(x);area(x,y,'FaceColor','b');axis([0,3*pi,-1,1])注意最后x轴坐标

可以用 fill(x, y, c), x, y 是一个封闭区域的顶点的坐标.c 是填充色.可以用 doc fill 看 matlab 的帮助,里面也有一些例子.我也写了个小例子,但不知道能不能帮助理解:t = 0:0.01:2*pi; st = sin(t); % 先画正弦和余弦曲线 ct = cos(t); plot(t, st, t, ct); i = (t >= 1/4 * pi) & (t x = [t(i) flip(t(i))]; % 计算顶点坐标 y = [st(i) flip(ct(i))]; fill(x, y, 'r'); % 把相交区域填上红色

可这样:x=-1:0.01:1;y1=1-x;y2=x+1;y3=zeros(size(x));plot(x, y1, x, y2,x,y3),hold onx1=-1:0.01:0;x2=0.01:0.01:1;z1=x1+1;z2=1-x2;z=[z1 z2];area(x,z,'FaceColor','b')hold off

x=linspace(0,10);y1=sin(x)-1;y2=sin(x);fill([x,fliplr(x)],[y1,fliplr(y2)],'r')

可以使用y轴为对数坐标的半对数坐标,如下:x=[1,2,3,4,5,6,7,8,9,10,11,12,13];y=[1,1.1,1.2,2.5,4.1,8.6,8.4,8.4,8.0,8.3,8.7,8.9,8888888888888.0];semilogy(x,y,'-r*');其他一些绘图指令:1)plot双轴线性刻度.2)loglog双轴对数刻度3)semilogxx对数,y线性4)semilogyx线性,y对数5)plotyy双y轴适合两组数据相差较大的绘图.

x = 0:pi/10:2*pi; y1 = sin(x); y2 = sin(x-0.25); y3 = sin(x-0.5); figure plot(x,y1,'g',x,y2,'b--o',x,y3,'c*') 在plot函数中画多条线.plot(x,y1,'g',x,y2,'b--o',x,y3,'c*') g是green 绿色 b是blue 蓝色 c是青色'r' 红色 'm' 粉红 'g' 绿色 'c' 青色 'b' 兰色 'w' 白色 'y' 黄色 'k' 黑色

matlab里面用plot画的图每条曲线的线型,颜色都可以变,例如plot(x,y,'r','*');代表红色和*线型.至于要达到你说的效果估计得分段画图,就跟曲线分段表示一样

一个figure里面,只能使用一个colormap每次使用colormap语句就会更新当前的colormap所以想用不同的colormap在同一幅图里画图,不能简单的这样实现

plot(x,y1,'r',x,y2,'k') legend('红线是y1','黑线是y2');

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com