美文网首页Matlab学习资料
第五章 MATLAB 的图形和可视化功能

第五章 MATLAB 的图形和可视化功能

作者: 00e6a8fd618f | 来源:发表于2017-05-25 17:13 被阅读77次

    第五章 MATLAB 的图形和可视化功能

    MATLAB 中最常用的绘图函数为 plot

    plot 的调用格式为:
    plot(x, y) 其中 x 和 y 为坐标向量。

    plot 颜色与线型参数
    颜色:

    • y :黄色
    • m :紫色
    • c :青色
    • r :红色
    • g :绿色
    • b :蓝色
    • w :白色
    • k :黑色

    线型:

    • . :点
    • :圆圈
    • x :叉号
    • +
    • *
    • - :实线
    • : :点线
    • -.:点划线
    • - :虚线

    图形标记

    设定坐标轴
    axis 函数

    • axis([xmin xmax ymin ymax])
    • axis('auto') : 坐标系统返回自动缺省状态
    • axis('square') : 图形设置为方形
    • axis('equal') : 两个坐标因子设定成相等
    • axis('off') : 关闭坐标系统
    • axis('on') :

    添加图例

    subplot 函数,多幅图布局

    hold 命令
    若在已存在的图形窗口中用 plot 函数继续添加新的图形内容,可使用图形保持指令 hold 。发出 hold on 后,再执行 plot 函数,在保持原有图形的基础上添加新的绘制图形。hold off 关闭此功能。

    函数 f(x) 曲线
    绘制函数曲线的方法有很多,最常用的方法:对采样点向量 x 计算出 f(x) 的值向量,再用 plot(x, y) 函数绘制。
    plot 函数一般采用等间隔采样,对绘制高频率变化的函数不够精确。
    为提高精度,不能采用等步长采样,必须在变化率大的区域密集采用,以充分反映函数的实际变化规律,提高图形的真实度。
    fplot 函数可自适应的对函数进行采样,更好地反映函数的变化规律。
    函数格式:fplot(fname, lims, tol)

    • fname :函数名
    • lims :变量取值范围
    • tol :相对允许误差,默认2e-3

    特殊坐标图形

    • 双对数坐标
    • 单对数坐标
    • 极坐标
    • 阶梯图形
    • 条形图形

    二维绘图函数小结

    • plot
    • fplot
    • fill : 填充二维多变图形
    • polar : 极坐标图形
    • bar : 条形图
    • loglog
    • semilogx
    • semilogy
    • stairs
    • axis : 设置坐标轴
    • clf : 清除图形窗口内容
    • close
    • figure : 创建图形窗口
    • grid : 放置坐标网格线
    • gtext : 用鼠标放置文本
    • hold : 保持当前图形内容
    • subplot
    • text
    • title
    • xlabel
    • ylabel

    三维图形
    plot3 函数
    mesh 函数:绘制三维网格图
    surf 函数:三维曲面图


    代码

    %plot函数
    x = 0:pi/100:2*pi;
    y = sin(x);
    plot(x, y)
    x = 0:pi/100:2*pi;
    y1 = sin(x);
    y2 = cos(x);
    plot(x, y1, x, y2)
    
    %线型与颜色
    x = 0:pi/100:2*pi;
    y1 = sin(x);
    y2 = cos(x);
    plot(x, y1, 'k:', x, y2, 'b-')
    
    %图形标记
    x = 0:pi/100:2*pi;
    y1 = sin(x);
    y2 = cos(x);
    plot(x, y1, 'k:', x, y2, 'b-')
     title('sine and cosine curves'); %标题
     xlabel('independent variable X');
     ylabel('dependent variable Y');
     text(2.8, 0.5, 'sin(x)');
     text(1.4, 0.3, 'cos(x)');
     
    %设定坐标轴
    x = linspace(0, 2*pi, 60);%生成含有60个数据元素的向量x
    y = sin(x); 
    plot(x, y);
    axis([0, 2*pi, -1, 2]); %设定坐标范围
    
    %添加图例
    x = 0:pi/100:2*pi;
    y1 = sin(x);
    y2 = cos(x);
    plot(x, y1, 'k:', x, y2, 'b-')
     title('sine and cosine curves'); %标题
     xlabel('independent variable X');
     ylabel('dependent variable Y');
     text(2.8, 0.5, 'sin(x)');
     text(1.4, 0.3, 'cos(x)');
     legend('sin(x)', 'cos(x)');
    
     
    %subplot 函数
    x = linspace(0, 2*pi, 60);
    y = sin(x);
    z = cos(x);
    t = sin(x)./(cos(x)+eps);
    ct = cos(x)./(sin(x)+eps);
    subplot(2, 2, 1); %两行两列,第一个
    plot(x, y);
    title('sin(x)');
    %axis([0, 2*pi, -1, 1]);
    subplot(2,2,2);
    plot(x, z);
    title('cos(x)');
    %axis([0, 2*pi, -1, 1]);
    subplot(2, 2, 3);
    plot(x, t);
    title('tangent(x)');
    %axis([0, 2*pi, -40, 40]);
    subplot(2, 2, 4);
    plot(x, ct);
    title('cotangent(x)');
    %axis([0, 2*pi, -40, 40]);
    
    %hold命令
    x = linspace(0, 2*pi, 60);
    y = sin(x);
    z = cos(x);
    plot(x, y, 'b');
    hold on;
    plot(x, z, 'k:');
    legend('sin(x)', 'cos(x)');
    hold off
    
    %函数f(x)曲线
    fplot('sin(x)', [0 2*pi], 1e-3)
    fplot('[sin(x), cos(x)]', [0 2*pi], 1e-3)
    fplot(@fct, [0, 1])
    
    %双对数坐标
    x = 0:0.1:2*pi;
    y = abs(1000*sin(4*x))+1
    loglog(x, y);
    %单对数坐标
    x = 0:0.1:2*pi;
    y = abs(1000*sin(4*x))+1
    semilogx(x, y); %x轴为对数
    semilogy(x, y); %
    %极坐标图形
    theta = 0:0.01:2*pi;
    rho = sin(2*theta).*cos(2*theta);
    polar(theta, rho);
    title('polar plot');
    %阶梯图形
    x = -2.5:0.25:2.5;
    y = exp(-x.*x);
    stairs(x, y);
    title('stairs plot');
    %条形图形
    x = -2.5:0.25:2.5;
    y = exp(-x.*x);
    bar(x, y);
    title('bar plot');
    
    %三维图形
    t = 0:pi/50:10*pi;
    y1 = sin(t); y2 = cos(t);
    plot3(y1, y2, t)
    title('helix'), text(0, 0, 0, 'origin');
    xlabel('sin(t)'), ylabel('cos(t)'), zlabel('t');
    grid;
    %三维网格图
    x = 0:0.15:2*pi;
    y = 0:0.15:2*pi;
    z = sin(y')*cos(x);
    mesh(x, y, z)
    title('三维网格图');
    %三维曲面图
    x = 0:0.15:2*pi;
    y = 0:0.15:2*pi;
    z = sin(y')*cos(x);
    surf(x, y, z)
    title('3-D surf');
    %视点
    p = peaks; %peaks为系统提供多峰函数
    subplot(2, 2, 1);
    mesh(peaks, p);
    view(-37.5, 30); %指定图1的视点
    title('azimuth=-37.5, elevation=30');
    subplot(2,2,2);
    mesh(peaks,p);
    view(-17, 60) %
    title('azimuth=-17, elevtation=60');
    subplot(2, 2, 3);
    mesh(peaks, p);
    view(-90, 0);
    title('azimuth=-90, elevation=0');
    subplot(2, 2, 4);
    mesh(peaks, p);
    view(-7, -10);
    title('azimuth=-7, elevation=10');
    %等高线图
    hold off 
    [x, y, z] = peaks(30);
    contour3(x, y, z, 16);
    xlabel('X-axis'), ylabel('Y-axis'), zlabel('Z-axis');
    title('等高线图');
    
    plot-绘图.png plot-线型与颜色.png 图形标记.png 设定坐标范围.png 添加图例.png subplot函数.png hold命令.png fplot绘图.png 双对数坐标.png 单对数坐标x.png 单对数坐标y.png 极坐标.png 阶梯图形.png 条形图.png 三维图形.png 三维网格图.png 三维曲面图.png 视点对比.png 等高线图.png

    相关文章

      网友评论

        本文标题:第五章 MATLAB 的图形和可视化功能

        本文链接:https://www.haomeiwen.com/subject/itezxxtx.html