MATLAB的使用(一)

一,MATLAB的编程特点

a,语法高度简化;

b,脚本式解释型语言;

c,针对矩阵的高性能运算;

d,丰富的函数工具箱支持;

e,通过matlab本体构建跨平台;

二,MATLAB的界面

工具栏:提供快捷操作编辑器:

脚本代码窗口工作区:

脚本变量窗口工作路径:

当前文件运行的检索路径

三,MATLAB的工具栏

新建脚本:新建脚本或函数(*.m)文件

新建实时脚本:新建可交互脚本(*.mlx)文件

新建/打卡:支持更加泛化的新建/打开文件类型导入数据:加载可识别的数据文件

保存工作区:将工作区的文件保存至(*.mat)文件

Simulink:打开可视化仿真工具

预设:MATLAB相关参数设置

帮助:查询相关文档和示例

四,常用控制代码

4.1 clc:清空命令行

4.2 clear:清空工作区变量

4.3 clear all:清空工作区(在一般matlab使用中等价于clear)

4.4  close:关闭当前图像窗口

4.5 *dbstop if error:建立变量缓冲区,在错误位置自动断点调试

编译器会报错,在错误的地方停止运行

4.6 Crtl + R/crtl + T:注释和反注释(支持批量)

4.7 ctrl + C: 强制停止

4.8 crtl + R:智能缩进

4.9 F9:在命令行中运行编译器内代码

五,MATLAB运算

命令行==计算器?

1,加+ 减- 乘* 除 /

2,平方根 sqrt(),任意次幂()^();power(,)

4,对数 log();log10();log2(); log1p()

5,指数exp();expm1();pow2();nextpow2()

6,三角函数 sin( );cos(); sinpi( );cospi();tan( )

7,反三角函数 asin( );acos( );asind();acosd( );atan( );atand( ); atan2()

六,MATLAB整体运算

1 模与余数 mod(,)rem(,)

2,符号函数sign()

3,matlab小数计算

4,matlab整体运算

5,生成随机数

 七,矩阵

1,矩阵的重要性

矩阵是MATLAB的核心

MATLAB通过建立特定平台进行大量的硬件针对性优化

2,创建向量

特殊的矩阵形式:向量。

生成格式:

①起始数据:数据间隔(可忽略,默认为1):结束数据

示例:

1:100(等价于1:1:100)  范围为1到100,间隔为1,1*100的向量

1:2:100                                范围为1到100,间隔为2,1*50的向量

100:-1:1                               范围为1到100,间隔为-1,1*100的向量

1:1:100.7                             范围为1到100(<=100.7的最大整数),间隔为1,1*100的向量

②特殊异常模式(三冒号表达式)A:B:C:D 

>>1:2:4:5                                                                         >>2:-1:3:5

ans =                                                                                ans =

1 2 3 4 5                                                                            空的 1*0 的double行向量

无用形式,但不会报错
 

3,赋值方法


[3.4]                                                 创建了值为3.4的1乘1矩阵(标量)
[1.0,2.0,3.0]                                     创建了值为[1  2  3]的1乘3矩阵(行向量)
[1.0 2.0 3.0]                                     创建了值为[1  2  3]的1乘3矩阵(行向量)
[1.0; 2.0; 3.0]                                   创建了值为[1  2  3]^T的3乘1矩阵(列向量)
[1,2, 3; 4, 5, 6]                                 创建了值为2*3的矩阵
[1,2,3  

4, 5,6]                                     创建了值为2*3的矩阵

采用逗号或空格来分割行元素

采用分号或换行来分割列元素

4,矩阵快速创建方法

 

 

 

 

5,矩阵运算模式

矩阵相乘                      A*B

矩阵右乘                      A/B等价于A*B的逆              注意左除和右除的区别

矩阵左乘                      A/B等价于A的逆乘B

矩阵数乘                      A.*B

矩阵右除                      A./B等价于A除以B             每个元素进行分别操作

矩阵左除                      A./B等价于A除B

对于数+/-矩阵,其相当于在矩阵每个元素加减此数

 

 6,其他运算方法

矩阵A求逆                                     inv(A)

矩阵A求伪逆                                  pinv(A)              适用于非方阵和奇异阵

矩阵A求转置                                  A'

求行列式A                                      det(A)

求行列式A的迹                               trace(A)

求矩阵A的LU分解                          lu(A)

求矩阵A的QR分解                          qr(A)

求矩阵A的特征值与向量                 eig(A)                 矩阵分析常用

 

大家可以自己打代码试一下

7,矩阵数据的提取

确定矩阵的大小
length()-用于向量                                 size()-用于矩阵

元素提取:
A(m,n)表示提取矩阵的第m,n位置处的值
注意m,n不能超出矩阵维度,matlab中起始值为1
冒号/end提取法:
A( :1)                           提取矩阵第一列
A(1,: )                          提取矩阵第一行
A(1,end)                     提取矩阵第一行中最后一个值
A(2:2:end,:)                提取偶数行

8,矩阵操作

-更改矩阵的大小:

Matrix_out = reshape( Matrix_in , m , n)

m/n为新矩阵的行数和列数

注意在矩阵改变的同时不能改变元素个数

-复制扩充:

Matrix out = repmat( Matrix_in , m , n)

m/n为扩充的行倍数和列倍数

9,交叉知识-稀疏矩阵

采用[(m,n),value]三元组来存储数据,不存储0值以节省空间

直接生成稀疏矩阵:sparse(m,n)

将矩阵A强制转化为稀疏矩阵:sparse(A)

>>one(1e5)

错误使用 ones

请求的100000*100000(74.5GB)数组超过预设的最大数值大小

>>sparse(1e5,1e5)

ans=

       全零稀疏矩阵:100000*100000

节省存储空间,对于严重稀疏矩阵加快运算速度

八,逻辑

1,逻辑变量

Logical类型:true(真值),false(假值)

>>a = true

a = 

logical

1

*******************************************

>>b=false

b=

logical

0

*******************************************

>>a = true + 1.1

a = 

2.1000

*******************************************

逻辑变量可参与运算,参与运算时其默认值为1/0

>>logical(-0.5)

ans=

logical

1

*****************************************************

>>logical(2)

ans=

logical

2

*******************************************************

逻辑类型的强制中,所有非0值(包括字符串)都会转化为真值

2,逻辑判定

3,逻辑运算

4,优先级

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年腾讯云服务器租用价格表_1个月一年3年5年和1小时费用表

腾讯云服务器租用优惠价格表&#xff1a;轻量应用服务器2核2G3M价格61元一年、2核2G4M价格99元一年&#xff0c;540元三年、2核4G5M带宽165元一年&#xff0c;2核4G5M带宽756元三年、轻量4核8G12M服务器646元15个月&#xff0c;轻量4核16G12M服务器32元1个月、312元一年&#x…

RabbitMQ介绍及搭建

架构 RabbitMQ是实现了高级消息队列协议&#xff08;AMQP&#xff09;的开源消息代理软件&#xff0c;使用erlang语言编写&#xff0c;依赖Erlang环境运行。 Broker&#xff1a;运行消息队列服务进程的节点&#xff0c;包含Exchange、Queue&#xff1b; Producer&#xff1a;消…

Java进阶 Maven基础

资料格式 配置文件 com.itheima Java代码 Statement stat con.createStatement(); 示例 com.itheima 命令 mvn test - Maven简介 传统项目管理状态分析 Maven 是什么 Maven的本质是一个项目管理工具&#xff0c;将项目开发过程抽象成一个项目对象模型&#xff08;POM&…

HTTP 工作流程请求响应 - 面试常问

文章目录 HTTP 工作流程请求和响应格式HTTP请求格式请求行&#xff1a;请求头部字段&#xff1a;空行&#xff1a;消息正文&#xff08;请求正文&#xff09;&#xff1a; HTTP响应格式状态行&#xff1a;响应头部字段&#xff1a;空行&#xff1a; HTTP方法HTTP状态码常用HTTP…

yocto编译测试

源码下载 git clone -b gatesgarth git://git.yoctoproject.org/poky lkmaolkmao-virtual-machine:~/yocto$ git clone -b gatesgarth git://git.yoctoproject.org/poky Cloning into poky... remote: Enumerating objects: 640690, done. remote: Counting objects: 100% (13…

整型数组按个位值排序 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 给定一个非空数组(列表)&#xff0c;其元素数据类型为整型&#xff0c;请按照数组元素十进制最低位从小到大进行排序&#xff0c;十进制最低位相同的元素&#xf…

四.排序(冒泡/选择)

目录 11-排序介绍 常见排序算法: 12-冒泡排序介绍 代码要求: 思路: 13-冒泡排序 代码: 14-选择排序 简单写法: 好的写法: 11-排序介绍 排序&#xff1a;将一组“无序”的记录序列调整为“有序”的记录序列。 列表排序&#xff1a;将无序列表变为有序列表 输入&#…

CentOS 7 编译安装 Nginx

CentOS 7 编译安装 Nginx 背景下载 Nginx 源码包安装依赖包编译添加环境变量添加守护查考文献 背景 一开始使用 docker 搭建了一个 web 服务器&#xff0c;但是由于 docker 不太方便的部署 TLS 证书&#xff0c;故使用 Nginx 做反向代理&#xff0c;实现 https 连接。 下载 N…

C#进阶实践项目(俄罗斯方块)

CSharp进阶实践项目--俄罗斯方块 1.需求分析 2.复用贪吃蛇开始等场景切换的代码 &#xff08;自己写一遍&#xff0c;不难&#xff01;&#xff01;&#xff01;&#xff09; 入口&#xff1a; 更新接口&#xff1a; Game 类&#xff1a; BeginOrEndBaseScene 类&#xff1a;…

【Flink】Flink 中的时间和窗口之窗口API使用

1. 窗口的API概念 窗口的API使用分为按键分区和非按键分区&#xff0c;在定义窗口操作之前&#xff0c;首先就要确定好是基于按键分区Keyed的数据流KeyedStream来开窗还是基于没有按键分区的DataStream上开窗。 1.1 按键分区窗口&#xff08;Keyed Windows&#xff09; 按键…

Android视角看鸿蒙第六课(module.json5中的各字段含义之pages)designWidth的用法

Android视角看鸿蒙第六课(module.json5中的各字段含义之pages&#xff09; 导读 前面几篇文章&#xff0c;我们陆续分析了entry->src->main下的module.json5中的各个字段的含义及作用。目前剩余pages和abilities两个字段&#xff0c;本篇文章一起来了解pages。 过程有错…

用Stable Diffusion生成同角色不同pose的人脸

随着技术的不断发展&#xff0c;我们现在可以使用稳定扩散技术&#xff08;Stable Diffusion&#xff09;来生成同一角色但不同姿势的人脸图片。本文将介绍这一方法的具体步骤&#xff0c;以及如何通过合理的提示语和模型选择来生成出更加真实和多样化的人脸图像。 博客首发地…

【Python】进阶学习:一文解决如何从指定的源目录中,挑选出符合条件的文件,并将这些文件复制到目标目录中

【Python】进阶学习&#xff1a;一文解决如何从指定的源目录中&#xff0c;挑选出符合条件的文件&#xff0c;并将这些文件复制到目标目录中 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化…

音频剪辑软件评测,哪一款最适合你?

“音频剪辑小白求解&#xff01;我正在制作一部个人纪录片&#xff0c;拍摄了很多原始音频素材&#xff0c;但是需要进行剪辑和整理才能使用。我完全不懂音频剪辑&#xff0c;请问有没有简单易懂的教程或者方法&#xff0c;帮助我快速上手并完成剪辑工作呢&#xff1f;” 随着…

5_相机标定_3_calibrateCamera()例子

上次介绍了calibrateCamera()接口参数&#xff0c;这次实际调用。 程序中所用标准标定板。 一、图片预处理 使用的图片原像素是3072*2048&#xff0c;即600万像素&#xff0c;处理起来不快&#xff1b;改成了560*420&#xff0c;即20万像素。调用opencv接口如下&#xff1a; //…

阿里通义灵码体验

点击访问体验 之前有体验过github的代码助手&#xff0c;奈何收费了&#xff0c;上周发现有一个免费的代码助手。 下载安装 vscode 搜索扩展 TONGYI Lingma 安装完成后登陆即可体验 写注释让他写代码 根据上下文自动补充 这里我只写了一个方法名&#xff0c;getAgencyList…

linux安装erlang

摘要 Erlang是一种通用的面向并发的编程语言&#xff0c;它由瑞典电信设备制造商爱立信所辖的CS-Lab开发&#xff0c;目的是创造一种可以应对大规模并发活动的编程语言和运行环境。 环境准备 系统环境 使用命令&#xff1a;uname -a 或者 uname -r&#xff0c;执行后如下&a…

浅谈SQL注入漏洞原理及利用方式

1.SQL注入 原理&#xff1a; 在数据交互中&#xff0c;前端的数据传入到后台处理时&#xff0c;由于后端没有做严格的判断&#xff0c;导致其传入的恶意“数据”拼接到SQL语句中后&#xff0c;被当作SQL语句的一部分执行。漏洞产生于脚本&#xff0c;注入是针对数据库进行。 …

Javaweb的学习21_CSS_属性

CSS的属性 (常用)属性&#xff1a; 1. 字体、文本 font-size&#xff1a;字体大小 color&#xff1a;文本颜色 text-align&#xff1a;文本的对齐方式 line-height&#xff1a;行高 2. 背景 background&#xff1a;是个复合属性 3. 边框 border&#xff1a;设置边框&#xff0c…

WordPress自动生成原创文章插件

WordPress作为最受欢迎的内容管理系统之一&#xff0c;为博客和网站的搭建提供了便捷的解决方案。而在内容创作方面&#xff0c;自动生成原创文章的插件为WordPress用户提供了更为高效的选项。 什么是WordPress自动生成原创文章插件&#xff1f; WordPress自动生成原创文章插件…