[MATLAB]学习笔记
目录
第一章 Matlab基础
1.1 Matlab介绍
1.2 界面使用
1.3 运算基础
1.4 数据基础
1.5 矩阵基础
第一章 Matlab基础
1.1 Matlab介绍
一、最新版本: MathWorks MATLAB R2021a
二、编程特点:
①语法高度简化
②脚本式解释型语言
③针对矩阵的高性能运算
④丰富的函数工具箱支持
三、Matlab应用
①并行计算与GPU
②流体模拟(Simulink)
③人工智能(深度/强化学习工具箱)
1.2 界面使用
一、Matlab界面工具栏:提供快捷操作
编辑器:脚本代码窗口
工作区:脚本变量窗口
工作路径:当前文件运行的检索路径
二、Matlab工具栏
新建脚本:新建脚本或函数(*.m)文件
新建实时脚本:新建可交互脚本(*.mlx)文件
新建/打卡:支持更加泛化的新建/打开文件类型
导入数据:加载可识别的数据文件
保存工作区:将工作区的文件保存至(*.mat)文件
Simulink:打开可视化仿真工具
预设:MATLAB相关参数设置
帮助:查询相关文档和示例
三、Matlab编辑器
编辑器:提供丰富的脚本操作
断点:充分利用断点可以对程序错误进行排查
四、交叉知识
clc : 清空命令行区
clear : 清空工作区变量
clear all: 清空工作区(在一般Matlab使用中等价于clear)
close : 关闭当前图像窗口
*dbstop if error : 建立变量缓冲区,在错误位置自动断点调试
Ctrl + R / Ctrl + T :注释和反注释(支持批量)
Ctrl + C :强制停止(必须在命令行区域)
Ctrl + I :智能缩进
F9 : 在命令行中运行编辑器内代码
1.3 运算基础
一、数学运算
加+减-乘*除/
平方根 sqrt( )
任意次幂 ( )^( ); power(底数 ,指数 )
对数 log( ); log10( ); log2( ); log1p( )
注意:log1p(x)实际上就是
指数 exp( ); expm1( ); pow2( ); nextpow2( )
注意:
1.expm1(x)实际上就是
2. pow2(x)实际上就是
3.nextpow2是用来求指数的,这个指数(假定为a)需满足两个条件:
(1)2的a次方大于等于输入值;
(2)2的(a-1)次方小于输入值。
三角函数 sin( ); cos( ); sinpi( ); cospi( ) ;tan( )
反三角函数 asin( ); acos( ); asind( ); acosd( ); atan( ); atand( ); atan2( )
注意:
asind是度数,asin是弧度
atan2求的是一个点所对应的角的大小 ,且输出角度范围是【-pi, pi】
atan求的是一个数值对应的角,且输出角度范围是【-pi/2, pi/2】
二、特殊运算
模与余数 mod( , ) rem( , )
注意:rem是与被除数符号相同的余数
符号函数 sign( )
向零取整 fix( )
向负无穷取证 floor( )
向正无穷取证 ceil( )
四舍五入 round( )
任意位四舍五入 roundn( , )
三、特殊值运算
最值 max( ); min( )
和 sum( )
积 prod( )
平均数 mean( )
中位数 median( )
方差/标准差 var( ); std( )
协方差 cov( )
四、随机数生成
均匀分布随机数 rand( ); randi( )
正太分布随机数 randn( )
注意:
1.rand是产生均匀分布的随机数;randi是产生均匀分布的随机整数
2.rand产生的是随机数,randi产生的是伪随机数(随机数和伪随机数没什么太大影响,在写代码时可以忽略,只需要考虑要求是否为整数)
3.Y = randn(n)返回一个n*n的随机项的矩阵
Y = randn(m,n) 或 Y = randn([m n]) 返回一个m*n的随机项矩阵
Y = randn(m,n,p,...) 或 Y = randn([m n p...]) 产生随机 数组
Y = randn(size(A))返回一个和A有同样 维数大小的 随机数组
randn返回一个每次都变化的数量
稀疏均匀分布随机数sprand( )
稀疏正态分布随机数sprandn( )
随机数生成器 rng( )
r = a + (b-a).*rand(m,n)
1.4 数据基础
一、数据标准
默认情况下,MATLAB其所有算术计算符合IEEE标准的双浮点精度执行
在MATLAB的double数据类型中,每个数字占用64位。这意味着其最小约为10^(-308),最大为10^308。可以通过eps验证当前数据的最小分辨间隔
当数据过小,其结果为0;当数据过大,其结果为inf
2.其他数据类型
3.运算符优先级
1.5 矩阵基础
一、矩阵的重要性
矩阵是Matlab永远的核心
Matlab通过建立特定平台进行大量的硬件针对性优化。
GPU优化-仅限于英伟达系:gpuArray( ); gather( )
二、创建向量
特殊的矩阵形式:向量。
生成格式:
起始数据 : 数据间隔(可省略,默认为1) : 结束数据
特殊异常模式(三冒号表达式) A : B : C : D 无用形式,但不会报错
三、赋值方法
采用逗号或空格来分割行元素
采用分号或换行来分割列元素
四、矩阵快速创建方法
五、矩阵运算模式
六、其他运算方法
七、矩阵数据提取
1.确定矩阵的大小
size( ) - 用于矩阵
length( ) - 用于向量
2.元素提取:
A(m, n) 表示提取矩阵的第m,n位置处的值
元素注意m,n不能超出矩阵维度,matlab中起始值为1
3.冒号/end提取法
八、矩阵操作
1.更改矩阵的大小
Matrix_out = reshape( Matrix_in , m , n)
m/n为扩充的行倍数和列倍数
注意在矩阵改变的同时不能改变元素个数
2.复制扩充
Matrix_out = repmat( Matrix_in , m , n)
m/n为扩充的行倍数和列倍数
[MATLAB]学习笔记相关推荐
- Matlab学习笔记——数据文件定位
写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 数据文件定位 1.fseek函数 2.ftell函数 3.feof函数 数据文件定位 1.fseek函数 用于改变 ...
- MATLAB学习笔记(二)
MATLAB学习笔记(二) 一.矩阵运算 矩阵分析 向量和矩阵的范数运算 矩阵的秩 矩阵的化零矩阵 矩阵的化简rref()函数 线性方程组 超定线性方程组求解 矩阵分解 1.对称正定矩阵的Choles ...
- MATLAB学习笔记(一)
MATLAB 一.安装的目录结构 二.常用的菜单及工具 布局 设置路径 设置工作路径 三.常用命令 四. 基础知识 数据类型 复数类型 `inf 和 NaN` 字符与字符串 函数句柄 结构体 结构体的 ...
- linspace函数matlab_从零开始的matlab学习笔记——(29)泰勒逼近函数
matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图....更多内容尽在个人专栏:matlab学习 上一节我们成功制作了能自己转圈的三维螺旋线,这里我们再来 ...
- matlab数组平方的计算自定义函数_从零开始的matlab学习笔记——(38)简单数论计算函数:取整,gcd,lcm,质数,全排列...
matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图,傅里叶变换,随机数,优化问题....更多内容尽在个人专栏:matlab学习 翻了翻优化工具箱,发现内容 ...
- 取模(mod)与取余(rem)的区别——Matlab学习笔记
取模(mod)与取余(rem)的区别--Matlab学习笔记http://www.bieryun.com/1099.html 昨天在学习Matlab的数学函数时,教程中提到取模(mod)与取余(rem ...
- matlab 线性规划_从零开始的matlab学习笔记——(37)线性规划——后传
matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图,傅里叶变换,随机数,优化问题....更多内容尽在个人专栏:matlab学习 呼,终于将matlab的优 ...
- MATLAB学习笔记——二维和三维绘图
MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...
- MATLAB学习笔记(十八)
MATLAB学习笔记(十八) 一.Simulink仿真基础 1.1 Simulink的启动 1.2 系统仿真模型的创建 1.3 仿真参数的设置 1.4 总结 二.子系统的创建与封装 2.1 子系统的创 ...
- MATLAB学习笔记(十七)
MATLAB学习笔记(十七) 一.符号对象 1.1 符号对象的建立 1.2 符号对象的运算 1.3 符号矩阵 二.符号微积分 2.1 符号函数的极限 2.2 符号函数的导数 2.3 符号函数的积分 三 ...
最新文章
- Eclipse导入Maven项目解决Build Path不能配置问题
- 一些实用的mysql语句(不断积累更新)
- Android移动开发之【Android实战项目】DAY2-使用Fragment实现底部菜单栏
- 如果一栋楼起火谁赔偿_南昌一居民楼起火,短短几分钟里三四十人上演“救火大合唱”...
- WordPress微信小程序社区论坛源码
- C/C++——cmd下丢失mspdb100.DLL解决方法
- 会真香吗?周某表示不会签约直播打工,想在老家种地
- 有些事,领导不直接找你,让同事联系你,这是什么套路?
- boost基础——variant的原理及基本用法
- 解决github网站打开慢的问题
- Excel排序、筛选
- PHP之AJAX、POST传值【顶、踩】
- JavaSwing实现简单连连看小游戏
- 借助科技的力量,让物联网更好的服务鱼虾养殖业
- 汇编中的OFFSET(OFFSET为属性操作符,表示应该把其后跟着的符号地址的值(不是内容)作为操作数)
- [逆向]汇编JCC指令举例
- 电脑端多开微信及其原理分析
- 计算机试题四北京网络教育,网络教育统考计算机模拟真题选择题(四)
- spring中事务执行完成后/回滚后执行
- 电子器件系列29:n型mos管选型时应注意哪些技术参数
热门文章
- EMV技术学习和研究
- python学习手册beaut_平平无奇的python学习手册
- 冠珠瓷砖打造民族文化品牌,让中国陶成为中国潮
- C语言:分糖果问题 10个小孩围成一圈分糖果
- android双日期选择器,AndroidPicker 安卓选择器类库,包括日期选择器、时间选择器、单项选择器、双项选择器、城市地址选择器、车牌号选择器 @codeKK Android开源站...
- javaRXTX串口读写,实现浏览器页面设置访问,数据库存储
- 原生JS 实现日期倒计时效果
- Photoshop2023(Firefly AI)Beta中文爱国版ps ai绘图功能使用教程
- gulp添加版本号?v=
- 深信服安全攻防工程师笔试题库