matlab基础向7-8:画图
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:画图的更多相关文章
- matlab基础教程——根据Andrew Ng的machine learning整理
matlab基础教程--根据Andrew Ng的machine learning整理 基本运算 算数运算 逻辑运算 格式化输出 小数位全局修改 向量和矩阵运算 矩阵操作 申明一个矩阵或向量 快速建立一 ...
- 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 ...
- Matlab - 基础知识
Matlab R2016a完全自学一本通 记在前面: (1)函数中:dim=1 按列:dim=2 按行 (2)这本书很垃圾,不建议买. (3)在数据库连接中,用两个单引号表示字符串,千万不能用双引号 ...
- 数字图像处理学习笔记之一 DIP绪论与MATLAB基础
写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...
- Matlab基础之单元数组和结构数组
Matlab基础之单元数组和结构数组 前言: 单元数组和结构数组是一种新的数据类型,能将不同类型.不同维数的数组组合在一起,从而方便对不同的数据类型方便管理和维护. 如上图所示的2*2矩阵中,分别存储 ...
- Matlab--从入门到精通(chapter2 matlab 基础知识)
Chapter2 Matlab 基础知识 1.基本数学运算符号 注:矩阵的右除是一般意义的除法,但是左除具有对称意义,即A./B=B.\A 2. 命令行中的常用标点 3.常见的操作命令 4.输出数据显 ...
- Matlab高级教程_第一篇:Matlab基础知识提炼_02
第三节:变量 正如其他编程软件一样. 都是通过变量来传递和交换数据的,这是基础.按照<MATLAB基础知识提炼>这篇文章先介绍变量比较合适.编程语言不外乎包括两部分:数据和结构.应该先把数 ...
- Matlab高级教程_第一篇:Matlab基础知识提炼_01
第一篇:Matlab基础知识提炼: 这一篇主要用系统和提炼性的语言对Matlab基础知识进行总结,主要适用于有语言基础的学习者.尽量不讲废话. 第一部分:Matlab是什么? 1 Matlab是Mat ...
- 信号与系统实验序章0——MATLAB基础命令入门
本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换. 同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习 ...
随机推荐
- Python3注解+可变参数实现
一.说明 1.1 关于注解 关于注解这个东西,最早是在大学学java的时候经常会看到某些方法上边@override之类的东西,一方面不知道其作用但另一方面似乎去掉也没什么影响,所以一直都不怎么在意. ...
- 原始(Prototype)模式
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型对象创建新的对象. 原型模式其实就是从一个对象创建另外一个可复制的对象,而且不需要知道任何创建的细节.(最常用的就是基于流的深复制) 原始模 ...
- es+logstash+kibana搭建
1.简介 ELK(elasticsearch+logstash+kibana)是目前比较常用的日志分析系统,包括日志收集(logstash),日志存储搜索(elasticsearch),展示查询(ki ...
- 如何选择CPU
一.品牌: 选择哪家公司的处理器,AMD公司和inter公司的处理器相比较,AMD在三维制作.游戏应用.和视频处理方面突出,inter的处理器在商业应用.多媒体应用.平面设计方面有优势,性能方面,同档 ...
- 将fileupload标签的值清空
在开发中遇到了这样一个问题,在一个form表单中,有一个fileupload标签,新增,修改都是同一个form,当我第一次选择了上传文件路径,并且提交之后,第二次再使用这个form,这次没有选择上传文 ...
- 对 GAN 的 value function 的理解
上式分为两个步骤: 第一步:调整discriminative model D的权重,使得V中两项取得最大值 第二步:调整generative model G的权重,使得V中第二项取得最小值 首先,分析 ...
- Django ForeignKey不需要参照完整性?
我想在django模型中设置一个ForeignKey字段,它在某些时候指向另一个表.但我希望可以在这个字段中插入一个id,它引用另一个表中可能不存在的条目.因此,如果该行存在于另一个表中,我希望获得F ...
- python3对字符串进行base64转码
import base64# 使用base64的b64encode()进行转码,转码之后在用‘utf-8’解码# s 要转码的字符串res = base64.b64encode(s.encode(&q ...
- PHP面试题2019年腾讯工程师面试题和答案
一.单选题(共29题,每题5分) 1.PHP执行的时候有如下执行过程:Scanning(Lexing) - Compilation - Execution - Parsing,其含义分别为: A.将P ...
- 基于OpenGL三维软件开发
实验原理: OpenGL在MFC下编程原理---- Windows操作系统对OpenGL的支持 在Windows下用GDI作图必须通过设备上下文(DeviceContext简写DC)调用相应的函数:用 ...