1.画直角坐标系的二维图

画直线:

x1=[1 2 3];
y1=[4 5 6];
plot(x1,y1);%斜率为1的直线,穿过(1,4)(2,5)(3,6)

画抛物线y=x*x(-3<=x<=3):

x2=-3:0.1:3;%每隔0.1就有一个点
y2=x2.*x2; %x2.^2
plot(x2,y2,'green-o');%关键点有一个圈表示
plot(x2,y2,'red-.');%虚线
axis equal %设置横坐标和纵坐标长度相同

plot函数是从左到右把点连起来,点越多,越光滑,看起来就像曲线了。

2.画直方统计图(bar图)

%直方统计图,bar图
y3=[ 12 23 42 15 10 135 16 17 ];
bar(y3);%横坐标默认从1开始,每次间隔1
x3=2001:1:2008
bar(x3,y3);%横坐标自己定义

3.三维图形

%三维图像plot3:画一个圆绕z轴螺旋上升
t=0:pi/50:6*pi %t为三角函数角度,pi是圆周率
x4=cos(t);
y4=sin(t);
plot(x4,y4);%底面的圆
z=0:1:300;%301个点,和x4y4对应
plot3(x4,y4,z);%画出三维图

4.各种标识功能

每次使用plot函数都会覆盖之前的图像,想要保留之前的图像,在上一次plot函数后用语句“hold on;”。

加背景网格:grid on;

加标题:title('标题内容');

横纵坐标加标签:xlabel('横坐标标签');ylabel('纵坐标标签');

x1=[1 2 3];
y1=[4 5 6];
plot(x1,y1);%斜率为1的直线,穿过(0,3)
hold on;%保留
x2=-3:0.1:3;
y2=x2.*x2; %x2.^2
plot(x2,y2,'green-o');%关键点有一个圈表示
axis equal %横坐标和纵坐标长度相同 grid on;
title('两个图');
xlabel('x坐标');
ylabel('y坐标');

5.划分功能(把窗口分割画多个图)

subplot(行,列,第几个);%第几个是从左往右数,换行

x=-4:0.1:4
y1=sin(x);
y2=sin(2.*x);
y3=sin(3.*x);
y4=sin(4.*x); subplot(2,2,1);
plot(x,y1);
title('y=sin x'); subplot(2,2,2);
plot(x,y2);
title('y=sin 2x'); subplot(2,2,3);
plot(x,y3);
title('y=sin 3x'); subplot(2,2,4);
plot(x,y4);
title('y=sin 4x');

x=-4:0.1:4
y1=cos(x);
y2=cos(2.*x);
y3=cos(3.*x); subplot(2,2,1);
plot(x,y1);
title('y=cos x'); subplot(2,2,2);
plot(x,y2);
title('y=cos 2x'); subplot(2,2,[3,4]);%合并
plot(x,y3);
title('y=cos 3x');

6.画曲面

例如:z=x^2 + y^2

第一步,确定x和y的范围

x=-3:1:3;

y=-3:1:3;

第二步,确定z范围

z=x.^2 + y.^2;

可以看到

x = -3 -2 -1 0 1 2 3

y = -3 -2 -1 0 1 2 3

z = 18 8 2 0 2 8 18

显然7个点怎么可能形成一个曲面?脑补一下这7个点形成一条曲线,投影在平面上是y=x(-3<=x<=3)这条直线。

第三步,想办法找出其他关键点

[X,Y]=meshgrid(x,y);

Z=X.^2 + Y.^2;

可以看到

X =

-3 -2 -1 0 1 2 3
-3 -2 -1 0 1 2 3
-3 -2 -1 0 1 2 3
-3 -2 -1 0 1 2 3
-3 -2 -1 0 1 2 3
-3 -2 -1 0 1 2 3
-3 -2 -1 0 1 2 3

Y =

-3 -3 -3 -3 -3 -3 -3
-2 -2 -2 -2 -2 -2 -2
-1 -1 -1 -1 -1 -1 -1
0 0 0 0 0 0 0
1 1 1 1 1 1 1
2 2 2 2 2 2 2
3 3 3 3 3 3 3

(meshgrid通过一维数组生成二维矩阵,其中矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制)

第四步,用surf函数生成曲面

surf(X,Y,Z);

matlab基础向7-8:画图的更多相关文章

  1. matlab基础教程——根据Andrew Ng的machine learning整理

    matlab基础教程--根据Andrew Ng的machine learning整理 基本运算 算数运算 逻辑运算 格式化输出 小数位全局修改 向量和矩阵运算 矩阵操作 申明一个矩阵或向量 快速建立一 ...

  2. Matlab基础

    基本运算: 一,矩阵的生成 clc ; clear all; close all; 1.直接输入 A = [ 1 ,2 ,3,4;2,3,4,5;3,4,5,6] A = 1 2 3 4 2 3 4 ...

  3. Matlab - 基础知识

    Matlab R2016a完全自学一本通 记在前面: (1)函数中:dim=1 按列:dim=2 按行 (2)这本书很垃圾,不建议买. (3)在数据库连接中,用两个单引号表示字符串,千万不能用双引号 ...

  4. 数字图像处理学习笔记之一 DIP绪论与MATLAB基础

    写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...

  5. Matlab基础之单元数组和结构数组

    Matlab基础之单元数组和结构数组 前言: 单元数组和结构数组是一种新的数据类型,能将不同类型.不同维数的数组组合在一起,从而方便对不同的数据类型方便管理和维护. 如上图所示的2*2矩阵中,分别存储 ...

  6. Matlab--从入门到精通(chapter2 matlab 基础知识)

    Chapter2 Matlab 基础知识 1.基本数学运算符号 注:矩阵的右除是一般意义的除法,但是左除具有对称意义,即A./B=B.\A 2. 命令行中的常用标点 3.常见的操作命令 4.输出数据显 ...

  7. Matlab高级教程_第一篇:Matlab基础知识提炼_02

    第三节:变量 正如其他编程软件一样. 都是通过变量来传递和交换数据的,这是基础.按照<MATLAB基础知识提炼>这篇文章先介绍变量比较合适.编程语言不外乎包括两部分:数据和结构.应该先把数 ...

  8. Matlab高级教程_第一篇:Matlab基础知识提炼_01

    第一篇:Matlab基础知识提炼: 这一篇主要用系统和提炼性的语言对Matlab基础知识进行总结,主要适用于有语言基础的学习者.尽量不讲废话. 第一部分:Matlab是什么? 1 Matlab是Mat ...

  9. 信号与系统实验序章0——MATLAB基础命令入门

    本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换. 同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习 ...

随机推荐

  1. 微信公众号 --- 获取access_token

    获取access_token 在左侧菜单栏中也可以找到 可以一步步的进行设置  ,  身份验证的时候要 注意:密码是你创建微信公众号的密码 往一步步的执行就可以了 接下来就是获取ip 白名单,进行设置 ...

  2. [转帖]关于 ./configure

    ./configure --prefix=/usr/local/scws --prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/ ...

  3. [转帖]国产统一操作系统UOS龙芯版正式上线

    国产统一操作系统UOS龙芯版正式上线 2019/12/13 12:49:31来源:IT之家作者:骑士责编:骑士评论:446 https://www.ithome.com/0/462/725.htm   ...

  4. JVM调优前戏之JDK命令行工具---jstack

    在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下 ...

  5. Direct Buffer介绍

    Direct Buffer 前言 上篇文章Buffer末尾中谈到堆内Buffer(Heap Buffer)和直接Buffer(Direct Buffer)的概念,但是却一笔带过,并未涉及其细节,这篇文 ...

  6. .net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml)

    .net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml) 首先设置 Startup.cs 文件 配置 ConfigureServices services .Add ...

  7. Windows 搭建 nginx rtmp服务器

    1.环境开发环境:windows开发工具:ffmpeg.nginx.nginx-rmtp-module.vlc media player播放器 2.准备文件官方ffmpeg下载地址:http://ww ...

  8. Netty入门系列(1) --使用Netty搭建服务端和客户端

    引言 前面我们介绍了网络一些基本的概念,虽然说这些很难吧,但是至少要做到理解吧.有了之前的基础,我们来正式揭开Netty这神秘的面纱就会简单很多. 服务端 public class PrintServ ...

  9. net start mysql 失败提示“NET HELPMSG 3534”

    lz使用的window系统8.0.16版本的mysql,以下四步解决如上问题: 1. mysqld -remove 2. mysqld --initialize 3.mysqld -install(m ...

  10. HTML5 新增文本标签

    一.mark 标记文本 <mark> 标签定义带有记号的文本,表示页面中需要突出显示或高亮显示的信息. 通常在引用原文的时候使用 mark 元素,目的是引起当前用户的注意. 语法格式: & ...