[Matlab]基础教程学习笔记(四):二维高层绘图操作
来源:互联网 发布:数据结构必背算法 编辑:程序博客网 时间:2024/05/10 00:18
一、基本介绍
二维高层绘图的基本函数:
- plot函数
二维绘图的辅助操作:
- 标注(图形名称,坐标轴名称,曲线标注,图例)
- 坐标轴保持
- 图形保持(同一座标绘制多个图形)
下面来看一下plot函数的使用。
基本用法:plot(x,y);
要求:x和y为相同长度的向量。
特殊用法:
(1)x为向量,y为矩阵,其中一维与x长度相同,则绘制多条不同色彩的曲线(颜色怎么确定?);
(2)x和y为同维的矩阵,以对应列绘制不同色彩的曲线;
(3)plot有一个参数,若x为实数向量,则绘制折线图,若x为复数向量,则以实部和虚部为横纵坐标绘图;
(4)多个输入参数;
(5)曲线选项
下面来看一下具体的使用。
我们先来绘制一个正弦函数,绘制0~2π之间的内容。
x = 0:0.01:2*pi;y = sin(x);plot(x,y);
运行一下可以看见绘制的正弦函数:
当然也可以同时绘制出两条直线,使用不同颜色绘制多条曲线:
x = 0:0.01:2*pi;y = sin(x);y1 = sin(x);y2 = cos(x);z = [y1 ; y2];plot(x,z);
绘图的效果如下:
再比如将z多设置几个行向量:
x = 0:0.01:2*pi;y = sin(x);y1 = sin(x);y2 = cos(x);y3 = exp(x);y4 = x;y5 = tan(x);z = [y1;y2;y3;y4;y5];plot(x,z);
画图的时候依旧是多种颜色绘制:
当然也可以多弄几条做出风骚的界面效果:
我们需要将矩阵转置,绘制出两条曲线:
% 两个参数都是矩阵x1 = 0:0.01:2*pi;x2 = -pi:0.01:pi;x = [x1; x2]';%转置y1 = cos(x1);y2 = sin(x2);y = [y1; y2]';%转置plot(x, y)
绘制的图形如下:
接下来看一下plot只有一个参数的情况。
我们可以用linespace产生行向量:
% plot只有一个参数x = linspace(0, 2*pi, 200);y = sin(x);plot(y)y2 = cos(x);y3 = y + i*y2;plot(y3)axis equal
如果只有一个参数,那么绘图的时候将用y的每一个点做横坐标:
下面来看一下复数的绘制:
x = linspace(0, 2*pi, 200);y = sin(x);y2 = cos(x);y3 = y + i*y2;plot(y3)axis equal绘制的图形会以y的实部绘制横坐标,以y的虚部绘制纵坐标,加上axisequal是坐标轴控制:
下面来看下plot有多个参数。
x1 = linspace(0, 2*pi, 200);x2 = linspace(0, 2*pi, 100);y1 = cos(x1);y2 = sin(x2);plot(x1, y1, x2, y2)
y1是x1的余弦,y2是x2的正弦,我们可以用plot的多参数功能来绘制:
然后是plot的参数问题。
% plot含有的曲线选项x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y, 'k') % r g y m k b,更改绘制曲线的颜色plot(x, y, 'p') % * . p < >使用星,点,五角星,三角号进行标注plot(x, y, ':') % - -- -. :虚线或者实线plot(x, y, 'r*:')%也可以组合使用
二、图形的标注。
标注就是指明横纵坐标的名称,比如下面这段代码:
x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y)xlabel('x')ylabel('y')title('正弦');
执行的效果就是这样的:
还有很多其他标注,比如text标注:
x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y)xlabel('x')ylabel('y')title('正弦');text(2, 0.3, 'y = xin(x)');text(5, 0.5, 'x_2')效果如下所示:
还有一种标注就是图例:
x1 = linspace(0, 2*pi, 200);x2 = linspace(0, 2*pi, 100);y1 = cos(x1);y2 = sin(x2);plot(x1, y1, x2, y2)legend('cos', 'sin');
效果就是在右上角会出现图例的说明,这个用底层绘图可以改变坐标:
绘制两条图线的时候会发现第一条曲线消失了,这是因为没有开启图形保持,可以用hold on开启,hold off关闭:
%% 图形保持x = 0:0.1:2*pi;y1 = sin(x);y2 = cos(x);hold onplot(x, y1, 'r');plot(x, y2, 'g');hold off
下面来说一下窗口的分割,比如想在窗口的四个角落绘制图形,可以使用subplot函数:
%% 窗口分割x = 0:0.1:2*pi;y1 = sin(x);y2 = cos(x);y3 = tan(x);y4 = exp(x);subplot(2, 2, 1)%2*2的小格,绘制第一个格plot(x, y1);subplot(222)%可以分开,也可以连着写plot(x, y2)subplot(223)plot(x, y3)subplot(224)plot(x, y4)
- [Matlab]基础教程学习笔记(四):二维高层绘图操作
- [Matlab]基础教程学习笔记(五):二维底层绘图修饰
- matlab学习笔记(一)---二维绘图
- Matlab学习笔记四:三维绘图
- MatLab建模学习笔记1——二维绘图
- matlab学习笔记(四)--- 图像的几何操作
- Matlab学习笔记(四)
- MATLAB学习笔记(四)
- 绘图与动画学习笔记(四)
- Matlab学习笔记三:绘图
- python基础教程学习笔记四
- Matlab 二维绘图函数
- Matlab二维曲线绘图
- Matlab--二维绘图
- Matlab二维绘图
- matlab二维绘图
- Qt学习笔记(四)二维图形
- OpenCV学习笔记四:绘图
- 大笨钟
- org.springframework.beans.factory.BeanDefinitionStoreException:
- 揭秘InputFormat:掌控Map Reduce任务执行的利器
- 分数(项目二)
- JS中getElementById()、getElementsByName()、getElementsByTagName() 的区别和应用
- [Matlab]基础教程学习笔记(四):二维高层绘图操作
- 那些我们不得不学的东西:JAR
- java笔记 抽象类和接口总结
- Mahout学习——Canopy Clustering
- 【Directx3D游戏开发】——Directx3D初始化
- Excel和TXT互相格式转换方法
- C++ "multiple definition of .. first defined here 错误的修改
- vim中的调试和补全(windows平台)
- P01: 01背包问题