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的学习 ...
随机推荐
- python之路——阅读目录
阅读目录 希望大家多多交流,有错误的地方请随时指正,笔记记得可能有点杂 一.python入门 计算机基础 编程语言发展史和python安装 二.数据类型.字符编码.文件处理 python基础数据类型 ...
- 立个铁矿石的flag,从7月初开始,铁矿石的库存,可能要进入累库存阶段了.
从发货量倒推出的到货量,用来评估未来的到货量 推测的到港量与实际北方6港到港量的关系 通过月度到港量,估计出北方6港对全国到港量的正确性. 悲观的库存预期 乐观的库存预期 大概率的情况吧
- java之maven之maven的使用
这里使用的工具是 myeclipse ,所以这里讲的是在 myeclipse 上使用maven. 1.什么是仓库? 用于存放依赖包.配置文件.其他插件等. 项目添加依赖时,默认从 本地仓库 读取依赖包 ...
- MySQL之命令行简单操作MySQL(二)
一:命令行连接数据库 打开终端,运行命令mysql -uroot -p (p后面加密码,可以直接加,也可以回车在下一行输入,为了不暴露密码,回车在下行输入 退出:exit或quit 查看版本信息: s ...
- Java 流程控制语句 之 顺序结构
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说,程序的流程对运行结果 有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实 ...
- Java 之 LinkedHashSet 集合
一.概述 java.util.LinkedHahset 集合 extends HashSet 集合 在HashSet下面有一个子类java.util.LinkedHashSet,它的底层是一个哈希表( ...
- const关键字总结
在C语言中 const是C语言中总结 1.修饰的变量,使其具有常属性,使变量的值不能直接被改变.但是可以通过指针来间接的修改变量的值. 2.便于进行类型检查(在编译时进行类型检查),使编译对处理内容有 ...
- adb shell get/setprop, setenforce...
adb shell getprop <key> 获取设备参数信息adb shell setprop <key> <value> 设置设备参数信息 例子1:>C ...
- Python如何去实际提高工作的效率?也许这个会有用!
4月初,班主任的某次周会议上,华华关切的问了一下:最近班主任们有什么难题吗?就是花费了你们大部分时间的工作!我们Python天团可以帮你们解决问题. 班主任大主管星星说:有.目前有一个大难题.我们每天 ...
- Python之路(第四十四篇)线程同步锁、死锁、递归锁、信号量
在使用多线程的应用下,如何保证线程安全,以及线程之间的同步,或者访问共享变量等问题是十分棘手的问题,也是使用多线程下面临的问题,如果处理不好,会带来较严重的后果,使用python多线程中提供Lock ...