用matlab在一幅图中绘制多条分段函数曲线

来自:    更新日期:早些时候
matlab绘制了多条函数,如何在同一图中,让这几条线依次出现,并覆盖上一副图~

matlab绘制了多条函数,如何出现在同一图中?其方法有二:
1、直接用plot(),这个方法比较直观。如
>>x=-10:0.5:10;
>>y1=sin(x);y2=3*x;y3=cos(2*x);
>> plot(x,y1,x,y2,x,y3)
>>legend('y=sin(x)','y=3x','y=cos(2x)')
>>xlabel('x'),ylabel('y')

2、plot()+hold on(图形保持命令)。如
>>x=-10:0.5:10;
>>y=sin(x);
>> plot(x,y),hold on
>>y=3*x;
>> plot(x,y),hold on
>>y=cos(2*x);
>> plot(x,y)
>>legend('y=sin(x)','y=3x','y=cos(2x)')
>>xlabel('x'),ylabel('y')
图形同上。

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

分段函数的绘制方法有下面几种:

%方法一,分段分别画,然后用hold on将图像保持在同一个axes中
%保持在同一个坐标轴中还可以用set(gca,'Nextplot','Add')命令
x1 = linspace(0,1,30);
y1 = x1;
x2 = linspace(1,2,30);
y2 = x2.^2;
plot(x1,y1)
hold on
%或者
% set(gca,'Nextplot','Add')
plot(x2,y2)
%方法二,巧用判断条件
x = linspace(0,2,60);
y = x.*(x>=0).*(x<=1) + x.^2.*(x>1).*(x<=2);
plot(x,y)
%方法三,使用矩阵索引
x = linspace(0,2,60);
x1 = x(x>=0&x<=1);
x2 = x(x>=1&x<=2);
y1 = x1;
y2 = x2.^2;
plot(x1,y1)
set(gca,'Nextplot','Add');
plot(x2,y2)
%注意这时第一个线段最后一个元素和第二个线段第一个元素没连在一起,如果需要连
%使用如下语句
line([x1(end) x2(1)],[y1(end) y2(1)])
%方法四,将原分段函数编为一个m函数,然后使用for循环求出函数值,最后画图
%这种方法虽然易懂,但速度慢不推荐
x = linspace(0,2,60);
y = zero(size(x));
for fi = 1:size(x,2)
    y(fi) = myfun(x(fi));       %myfun为自己定义的分段函数
end
plot(x,y)
%myfun函数清单如下
function y = myfun(x)
if x >= 0 & x <= 1
    y = x;
else
    y = x^2;
end
end

 对于多条分段函数绘制在同一幅图中,只需像方法一那样。hold on一下就行了。




用matlab在一幅图中绘制多条分段函数曲线视频

相关评论:
  • 19894764791matlab怎么通过一个中心和法向量绘制矩形?
    嵇萍秆要使用 MATLAB 绘制一个以(0,0,0)为中心,法向量为(1,0,0),长为5,宽为4的矩形,首先需要定义矩形在三维空间中的四个顶点。假设矩形的中心在原点(0,0,0),并且法向量沿x轴方向,那么矩形在x轴正半轴上的长度为5,在y轴上的宽度为4。根据这些信息,我们可以计算出矩形的四个顶点。

  • 19894764791Matlab论文插图绘制模板第132期—函数等高线填充图
    嵇萍秆输出图片最后一步是根据期刊或出版物的要求,以适当分辨率和格式输出图片。这一过程确保了图形能够完美适应不同的展示平台,无论是在线发表还是印刷出版,都能以最佳状态呈现。通过以上步骤的详细介绍,您现在应该对如何在Matlab中绘制函数等高线填充图有了更深入的了解。借助这一强大工具,您不仅能够高效完成...

  • 19894764791怎么用matlab绘制一个三维图像
    嵇萍秆1、点击图标,打开matlab。2、输入代码:[x,y]=meshgrid(1:0.1:10, 1:0.1:10);z=x.^2+y.^2;surf(x,y,z)3、点击运行。4、在弹出的文件存储页面中,选择一个任意位置,点击保存即可。5、保存后matlab自动运行程序,得出的图像如下:

  • 19894764791matlab中如何在一幅图片上画线,将其划分为几个本部分
    嵇萍秆fn = '000.jpg';p = imread(fn);imshow(p);[m,n,p] = size(p);hold onM = 4; % 水平分量N = 5; % 垂直分量lw = 5; % 划线宽度mx = ones(1,M+1);my = linspace(1,m,M+1);% 画水平线for k = 1:M+1 line([mx(k) n*mx(k)],[my(k) my(k)],'col...

  • 19894764791matlab怎么在一个图形窗口中画多个图形
    嵇萍秆可以采用subplot函数。具体解释subplot(m,n,p);先指定将一个图分为m行n列,当前画图为p。以下以画正弦函数,余弦函数,一次函数和二次函数在【-3,3】范围的图像为例说明如何使用subplot函数。 代码: >> subplot(2,2,1) >> plot(-3:0.01:3,sin ...

  • 19894764791怎么用matlab在一张纸上画出四个小图
    嵇萍秆用subplot(m,n,p)或者subplot(mnp)在你的这个情况中p=4,也就是总共4张图;m是你想要的行数,n是你想要的列数。例如你要把四个图摆成“田”,那就是 subplot(2,2,1);plot(x1,y1);subplot(2,2,2);plot(y2,x2);subplot(2,2,3);plot(y3,x3);subplot(2,2,4);plot(y4,x4);...

  • 19894764791matlab 的 M文件中,如何以一幅图为背景的情况下,在这幅图上画线
    嵇萍秆Ima = imread('Pic1'); %读入你要处理的图片。Row = linspace(1, size(Ima,1), 80);Col = linspace(1, size(Ima,2), 80);MaxIma = max(Ima(:));for ForI = 1: length(Row)Ima( Row(ForI), :)) = MaxIma;end for ForI = 1: length(Col)Ima( :, Col(ForI)) = MaxIma...

  • 19894764791怎样用matlab将几条曲线画在一个图上
    嵇萍秆fs=100;t = -1:.1\/fs:1;y1=sin(2*pi*t);y2=cos(2*pi*t)plot(y1);hold on plot(y2,'r');这样两条曲线就画出来了,为了区分,第二条我用了红色

  • 19894764791用matlab在一幅图中绘制多条分段函数曲线
    嵇萍秆分段函数的绘制方法有下面几种:方法一,分段分别画,然后用hold on将图像保持在同一个axes中%保持在同一个坐标轴中还可以用set(gca,'Nextplot','Add')命令x1 = linspace(0,1,30);y1 = x1;x2 = linspace(1,2,30);y2 = x2.^2;plot(x1,y1)hold on%或者% set(gca,'Nextplot','Add'...

  • 19894764791matlab中怎么在一张图上画几个曲线
    嵇萍秆plot(x1,y1) hold on .plot(x2,y2)这样也是可以的,还有可以在一个界面画多张图(一下是2x2,4张,括号中第三个数可以为1-4)subplot(2,2,1);plot(plot(x1,y1).subplot(2,2,2);plot(plot(x2,y2).

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网