当前位置: 首页 > news >正文

matlab基础到实战(1)

目录

    • 概述
    • sin函数例子
    • 四则运算
      • 实数
      • 复数
    • 逻辑运算
    • 复数运算
      • 幅角
      • 共轭
    • 向量
      • 二维向量定义
      • 序列生成向量
      • 向量索引方式
      • 加减乘除
      • 向量间运算
        • 加减
        • 乘法
        • 除法

概述

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 [1]
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。

sin函数例子

>> x=1:0.1:10x =1131.0000    1.1000    1.2000    1.3000    1.4000    1.5000    1.6000    1.7000    1.8000    1.9000    2.0000    2.1000    2.200014262.3000    2.4000    2.5000    2.6000    2.7000    2.8000    2.9000    3.0000    3.1000    3.2000    3.3000    3.4000    3.500027393.6000    3.7000    3.8000    3.9000    4.0000    4.1000    4.2000    4.3000    4.4000    4.5000    4.6000    4.7000    4.800040524.9000    5.0000    5.1000    5.2000    5.3000    5.4000    5.5000    5.6000    5.7000    5.8000    5.9000    6.0000    6.100053656.2000    6.3000    6.4000    6.5000    6.6000    6.7000    6.8000    6.9000    7.0000    7.1000    7.2000    7.3000    7.400066787.5000    7.6000    7.7000    7.8000    7.9000    8.0000    8.1000    8.2000    8.3000    8.4000    8.5000    8.6000    8.700079918.8000    8.9000    9.0000    9.1000    9.2000    9.3000    9.4000    9.5000    9.6000    9.7000    9.8000    9.9000   10.0000>> y=sin(x)y =1130.8415    0.8912    0.9320    0.9636    0.9854    0.9975    0.9996    0.9917    0.9738    0.9463    0.9093    0.8632    0.808514260.7457    0.6755    0.5985    0.5155    0.4274    0.3350    0.2392    0.1411    0.0416   -0.0584   -0.1577   -0.2555   -0.35082739-0.4425   -0.5298   -0.6119   -0.6878   -0.7568   -0.8183   -0.8716   -0.9162   -0.9516   -0.9775   -0.9937   -0.9999   -0.99624052-0.9825   -0.9589   -0.9258   -0.8835   -0.8323   -0.7728   -0.7055   -0.6313   -0.5507   -0.4646   -0.3739   -0.2794   -0.18225365-0.0831    0.0168    0.1165    0.2151    0.3115    0.4048    0.4941    0.5784    0.6570    0.7290    0.7937    0.8504    0.898766780.9380    0.9679    0.9882    0.9985    0.9989    0.9894    0.9699    0.9407    0.9022    0.8546    0.7985    0.7344    0.663079910.5849    0.5010    0.4121    0.3191    0.2229    0.1245    0.0248   -0.0752   -0.1743   -0.2718   -0.3665   -0.4575   -0.5440>> plot(x,y)

在这里插入图片描述

四则运算

实数

>> x=[1 2 3]x =1     2     3>> x*2ans =2     4     6>> x+6ans =7     8     9>> x-9ans =-8    -7    -6>> x/3ans =0.3333    0.6667    1.0000>> 

复数

>> x=11+9ix =11.0000 + 9.0000i>> y=9-6iy =9.0000 - 6.0000i>> x-yans =2.0000 +15.0000i>> x+yans =20.0000 + 3.0000i>> x*yans =1.5300e+02 + 1.5000e+01i>> y/xans =0.2228 - 0.7277i>> 

逻辑运算

>> %逻辑与,两个操作数同时为1时,结果为1,否则为0
>> and(11,0)ans =logical0>> and(-11,0)ans =logical0>> %逻辑或,两个操作其中至少一个为1时,结果为1,否则为0
>> or(11,0)ans =logical1>> or(-11,0)ans =logical1>> or(0,0)ans =logical0>> 
>>> %逻辑非,当操作数为0时,结果为1,否则为0
>> ~ 11ans =logical0>> ~ 0ans =logical1>> 
>>> %逻辑异或,相同时为0,不同时为1
>> xor(0,1)ans =logical1>> xor(11,11)ans =logical0>> 
>>> %有非零元素为真,为1,否则为0
>> any([11 22 0 -11])ans =logical1>> any([0 0 0 0])ans =logical0>> 
>>> %所有元素非零为真,为1,否则为0
>> all([11,22,44,0])ans =logical0>> all([11,22,0,0])ans =logical0>> all([11,22,10,110])ans =logical1>> 

%表示注释

复数运算

>> a=12-9ia =12.0000 - 9.0000i

或者下面这种方式定义

>> complex(12,-9)ans =12.0000 - 9.0000i


>> abs(a)ans =15

幅角

>> angle(a)ans =-0.6435>> 

共轭

实数部分


>> real(a)ans =12

虚数部分

>> imag(a)ans =-9

共轭复数

>> conj(a)ans =12.0000 + 9.0000i

如果单个复数或复数矩阵中的虚部为0,则为实数矩阵

>> a=11-9ia =11.0000 - 9.0000i>> b=9+0ib =9>> c=0-1i
c =0.0000 - 1.0000i>> isreal(a)ans =logical0>> isreal(b)ans =logical1>> isreal(c)ans =logical0

向量

二维向量定义

>> x=[1,2;3,4]x =1     23     4>> x=[1 2; 3 4]x =1     23     4

序列生成向量

>> x=[1:10]x =1     2     3     4     5     6     7     8     9    10>> x=[1:3:12]%相差3生成序列x =1     4     7    10
>> x=linspace(1,10,3)%定义元素个数,linspace(第一个元素,最后一个元素,元素个数)x =1.0000    5.5000   10.0000
>> x=logspace(1,5,3)%定义元素个数,linspace(a,b,元素个数),10^a为第一个元素,10^b为最后一个元素x =10        1000      100000>> xx =10        1000      100000

向量索引方式

注意从1开始,不从0开始。

>> x(1)ans =10>> x(1:2)ans =10        1000>> x(2:3)ans =1000      100000>> x(0)
数组索引必须为正整数或逻辑值。

加减乘除

每个元素进行

>> x=linspace(1,12,4)x =1.0000    4.6667    8.3333   12.0000>> y=linspace(3,15,4)y =3     7    11    15>> x/2ans =0.5000    2.3333    4.1667    6.0000>> x*2ans =2.0000    9.3333   16.6667   24.0000>> x+2ans =3.0000    6.6667   10.3333   14.0000>> x-2ans =-1.0000    2.6667    6.3333   10.0000

向量间运算

加减

每个对应元素进行

>> xx =1.0000    4.6667    8.3333   12.0000>> yy =3     7    11    15>> x+yans =4.0000   11.6667   19.3333   27.0000>> x-yans =-2.0000   -2.3333   -2.6667   -3.0000

乘法

1、向量积,数学中又称外积、叉积,物理中称矢积、叉乘,是一种在向量空间中向量的二元运算。与点积不同,它的运算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量和垂直。
两个向量a和b的叉积写作a×b
向量积可以被定义为:
在这里插入图片描述

模长:(在这里θ表示两向量之间的夹角(共起点的前提下)(0°≤θ≤180°),它位于这两个矢量所定义的平面上。)

在这里插入图片描述

方向:a向量与b向量的向量积的方向与这两个向量所在平面垂直,且遵守右手定则。c的方向垂直于a与b所决定的平面,c的指向按右手定则从a转向b来确定。
在这里插入图片描述

>> xx =1     3     5>> yy =10    12    14>> cross(x,y)ans =-18    36   -18

2、点积
点积在数学中,又称数量积(dot product; scalar product),是指接受在实数R上的两个向量并返回一个实数值标量的二元运算。它是欧几里得空间的标准内积。

在这里插入图片描述
在这里插入图片描述

>> xx =1.0000    4.6667    8.3333   12.0000>> y'ans =371115>> x*y'ans =307.3333>> x=[1:2:6]x =1     3     5>> y=[10:2:15]y =10    12    14>> dot(x,y)ans =116>> x*y'ans =116

3、点乘与点除
每个元素进行

>> xx =1     3     5>> yy =10    12    14>> x.*yans =10    36    70
>> y./xans =10.0000    4.0000    2.8000

除法

在两个向量平行时才有除法

>> x=[1 4]x =1     4>> y=[6 24]y =6    24>> y/xans =6>> x/yans =0.1667

cross

叉积

语法

matlab C = cross(A,B) C = cross(A,B,dim)

说明

C = cross(A,B) 返回 A 和 B 的叉积。

如果 A 和 B 为向量,则它们的长度必须为 3。

如果 A 和 B 为矩阵或多维数组,则它们必须具有相同大小。在这种情况下,cross 函数将 A 和 B 视为三元素向量集合。该函数计算对应向量沿大小等于 3 的第一个数组维度的叉积。
C = cross(A,B,dim) 计算数组 A 和 B 沿维度 dim 的叉积。A 和 B 必须具有相同的大小,并且 size(A,dim) 和 size(B,dim) 必须为 3。dim 输入是一个正整数标量。
dim - 沿其运算的维度

正整数标量

沿其运算的维度,指定为正整数标量。维度 dim 的大小必须为 3。如果未指定值,则默认值是大小等于 3 的第一个数组维度。

考虑两个二维输入数组:A 和 B:
cross(A,B,1) 将 A 和 B 的列视为向量,并返回对应列的叉积。
cross(A,B,2) 将 A 和 B 的行视为向量,并返回对应行的叉积。

如果 dim 大于 ndims(A),则 cross 返回错误。
在这里插入图片描述

相关文章:

matlab基础到实战(1)

目录概述sin函数例子四则运算实数复数逻辑运算复数运算模幅角共轭向量二维向量定义序列生成向量向量索引方式加减乘除向量间运算加减乘法除法概述 MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理…...

谷歌发布编写分布式应用的框架Service Weaver

一个新的框架,在本地以模块化单体的形式运行,一旦部署,则为分布式微服务架构 转载请注明来源:https://janrs.com/2023/03/%e8%b0%b7%e6%ad%8c%e5%8f%91%e5%b8%83%e7%bc%96%e5%86%99%e5%88%86%e5%b8%83%e5%bc%8f%e5%ba%94%e7%94%a8…...

详解FPGA:人工智能时代的驱动引擎观后感

详解FPGA:人工智能时代的驱动引擎观后感 本书大目录 第一章 延续摩尔定律 第二章 拥抱大数据的洪流 第三章 FPGA在人工智能时代的独特优势 第四章 更简单也更复杂——FPGA开发的新方法 第五章 站在巨人肩上——FPGA发展新趋势 文章目录详解FPGA:人工智能…...

Rest/Restful接口

Rest Rest的全称是Representational State Transfer 。Rest是一种架构风格。Rest有很多原则和限制: 客户端-服务端架构模式无状态可缓存统一接口分层系统按需缓存 Rest对我们开发人员来说基本上就是资源,我们一般通过URI表示我们请求的一个资源。例如&#xff1a…...

【vue init】三.项目引入axios、申明全局变量、设置跨域

教程目录 一:《【vue init】使用vue init搭建vue项目》 二:《【vue init】项目使用vue-router,引入ant-design-vue的UI框架,引入less》 三:《【vue init】项目引入axios、申明全局变量、设置跨域》 根据前文《【vue init】项目使…...

搭建nextcloud私有云盘

要搭建Nextcloud,需要在服务器上安装和配置Nginx、PHP和SQLite3。下面是一些基本步骤: 安装Nginx 可以使用包管理器进行安装。例如,在Ubuntu上可以运行以下命令: sudo apt update sudo apt install nginx配置Nginxwget -P /home/u…...

05 | 如何安全、快速地接入OAuth 2.0?

05 | 如何安全、快速地接入OAuth 2.0? 构建第三方软件应用 第一点,注册信息 小兔软件的研发人员提前登录到京东商家开放平台进行手动注册,以便后续使用这些注册的相关信息来请求访问令牌。兔软件需要先拥有自己的 app_id 和 app_serect 等信…...

nest.js学习笔记(一)

nest.js学习笔记(一)一、安装nest.js前置条件运行项目目录介绍二、nest.js cli 常用命令三、RESTful 风格设计1.接口url2.RESTful 版本控制四、获取前端传过来的参数1.获取Get请求参数2.获取Post请求参数3.动态路由4.获取Header信息5.自定义状态码nest.j…...

win下载配置CIC Flowmeter环境并提取流量特征

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、下载CIC Flowmeter二、安装java、maven、gradle和IDEA1.java 1.82.maven3.gradle4.IDEA三、CICFlowMeter-master使用四、流量特征1.含义2.获取前言 配了一整…...

【LeetCode刷题-Java/Python】二分查找

二分查找704.二分查找题目实现总结35.搜索插入位置题目实现34. 在排序数组中查找元素的第一个和最后一个位置题目实现69.x的平方根题目实现367. 有效的完全平方数题目实现704.二分查找 题目 题目链接 给定一个 n 个元素有序的(升序)整型数组 nums 和一…...

Linux 6.2 已正式发布

Linus Torvalds 发布了稳定的 Linux 6.2 内核,这是 2023 年的第一个主要内核版本。硬件方面,Linux 6.2 提升了 Intel Arc 显卡 (DG2/Alchemist) 的稳定性,真正做到开箱即用。英特尔的 On Demand 驱动程序现在状态良好,适用于第 4 …...

Kubernetes 101,第一部分,基础知识

已经有一段时间了,我想花点时间坐下来写写关于Kubernetes 的文章。时机已到。 简而言之,Kubernetes是一个用于自动化和管理容器化应用程序的开源系统。Kubernetes 就是关于容器的。 ❗如果你对什么...

企业级信息系统开发学习笔记1.7 基于XML配置方式使用Spring MVC

文章目录零、本节学习目标一、Spring MVC概述1、MVC架构2、Spring MVC3、使用Spring MVC的两种方式二、基于XML配置与注解的方式使用Spring MVC(一)创建Spring项目【SpringMVCDemo01】(二)在pom文件里添加相关依赖(三&…...

java反射,动态代理

1. 反射 1.1 反射的概述: ​ 专业的解释(了解一下): ​ 是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; ​ 对于任意一个对象,都能够调用它的任意属性和方法…...

React(六):Redux的使用、react-redux简化代码、redux模块化、RTK的使用

React(六)一、Redux测试项目搭建1.创建store仓库2.创建reducer函数(纯函数)3.constants.js保存action名字4.修改store中的数据5.动态生成action二、React中如何使用redux1.安装redux2.创建store3.组件中订阅store4.派发action修改…...

静态库和动态库的打包与使用

静态库和动态库 静态库和动态库的打包 生成可执行程序时链接使用 运行可执行程序时加载使用 提前声明,笔者示例的文件有mian.c/child.c/child.h。OK,我们先了解一下,库文件是什么?它其实就是打包了一堆实现常用功能的代码文件. ⭐…...

h264编码之SPS解析

一、概念 SPS即Sequence Paramater Set,又称作序列参数集。SPS中保存了一组编码视频序列(Coded video sequence)的全局参数。 二、定义 H.264标准协议中规定的SPS格式位于文档的7.3.2.1.1,如下图所示: 1、profile_idc 根据《T-REC-H.264-2…...

使用R语言包clusterProfiler做KEGG富集分析时出现的错误及解决方法

使用enrichKEGG做通路富集分析时&#xff0c;一直报错&#xff1a;显示No gene can be mapped....k <- enrichKEGG(gene gene, organism "hsa", pvalueCutoff 1, qvalueCutoff 1)但是之前用同样的基因做分析是能够成功地富集到通路&#xff0c;即便是网上的数据…...

框架——MyBatis的入门案例

框架概述1.1什么是框架框架&#xff08;Framework&#xff09;是整个或部分系统的可重用设计&#xff0c;表现为一组抽象构件及构件实例间交与的方法&#xff1b;另一种定义认为&#xff0c;框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义…...

hadoop兼容性验证

前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构&#xff0c;主要解决海量数据的存储和海量数据的分析计算问题&#xff0c;广义上来说&#xff0c;Hadoop通常是指一个更广泛的概念–hadoop生态圈 Hadoop优缺点&#xff1a; 优点&#xff1a; 1、高可靠性&#x…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

WEB3全栈开发——面试专业技能点P4数据库

一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库&#xff0c;基于 mysql 库改进而来&#xff0c;具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点&#xff1a; 支持 Promise / async-await&#xf…...

使用python进行图像处理—图像滤波(5)

图像滤波是图像处理中最基本和最重要的操作之一。它的目的是在空间域上修改图像的像素值&#xff0c;以达到平滑&#xff08;去噪&#xff09;、锐化、边缘检测等效果。滤波通常通过卷积操作实现。 5.1卷积(Convolution)原理 卷积是滤波的核心。它是一种数学运算&#xff0c;…...