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的学习 ...
随机推荐
- AntDesign vue学习笔记(五)导航菜单动态加载
一般的后台系统都有一个树形导航菜单,具体实现如下,主要参考https://my.oschina.net/u/4131669/blog/3048416 "menuList": [ { ...
- 从零开始学C语言
从零开始学C语言 @阆苑祁寒 更新时间:2019-09-13 写在前面:本文从一个初学者的角度,给出了对C语言的简单理解.如有谬误,敬请指出! Week1——基本语法 #include <std ...
- jupyter lab matplotlib 画图
解决jupyter lab plt.plot() 不画图的问题 import matplotlib.pyplot as plt %matplotlib inline #insert this c ...
- Tomcat安装及配置(Linux系统)
环境说明:Linux环境,CentOS 7版本. 第一步:下载tomcat 版本,下载地址:https://tomcat.apache.org/index.html 我用的是zip结尾的包 解压命令: ...
- 【题解】Luogu P5319 [BJOI2019]奥术神杖
原题传送门 题目让我们最大化\(val=\sqrt[k]{\prod_{i=1}^k w_i}\),其中\(k\)是咒语的个数,\(w_i\)是第\(i\)个咒语的神力 看着根号和累乘不爽,我们两边同 ...
- Echarts 学习系列(1)-5分钟上手ECharts
目录 写在前面 下载Echarts和主题 绘制一个简单的图表 写在前面 最近,在做某个项目的时候.需要使用的可视化的图表显数据.最后,选择了百度的Echarts. 下载Echarts和主题 1.获取E ...
- oracle grant 授权语句
--select * from dba_users; 查询数据库中的所有用户 --alter user TEST_SELECT account lock; 锁住用户 --alter user TEST ...
- 《C++ Primer》学习总结;兼论如何使用'书'这种帮助性资料
6.25~ 6.27,用了3天翻了一遍<C++ Primer>. ▶书的 固有坏处 一句话: 代码比 文字描述 好看多了.————> 直接看习题部分/ 看demo就行了 看文字在描述 ...
- Mycat分布式数据库架构解决方案--Mycat实现数据库分表
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 准备工 ...
- 利用Beef劫持客户端浏览器
利用Beef劫持客户端浏览器 环境: 1.Kali(使用beef生成恶意代码,IP:192.168.114.140) 2.一台web服务器(留言板存在XSS跨站脚本漏洞,IP:192.168.11 ...