MATLAB基础运算

矩阵和数字相乘

就是矩阵里面每个元素跟这个数字乘一遍,无论是点乘还是叉乘,对于这个都一样。

>> A=ones(3)
A =1     1     11     1     11     1     1
>> 10*A
ans =10    10    1010    10    1010    10    10

矩阵和矩阵叉乘

能不能相乘,需要前面矩阵的列数等于后面矩阵的行数,出来的矩阵大小是前面矩阵的行数*后面矩阵的列数。

所以大家会发现,矩阵相乘如果前后调转了,结果会完全不一样,阴差阳错地乘出个逆矩阵出来。

有个很形象的图

有些教材会把这个称为左乘和右乘,但是本质上其实就是矩阵相乘的先后顺序。

>> A=[1 2 3; 4 5 6;7 8 9]
A =1     2     34     5     67     8     9
>> B=[10 20 30;40 50 60;70 80 90]
B =10    20    3040    50    6070    80    90
>> A*B
ans =300         360         420660         810         9601020        1260        1500

矩阵和矩阵点乘

点乘运算指将两矩阵中相同位置的元素进行相乘运算,所以需要矩阵维数和行列数都一样

>> A=[1 2 3; 4 5 6;7 8 9]
A =1     2     34     5     67     8     9
>> B=[10 20 30;40 50 60;70 80 90]
B =10    20    3040    50    6070    80    90
>> A.*B
ans =10    40    90160   250   360490   640   810

矩阵和数字相除

只有矩阵除以数字,没有数字除以矩阵。跟相乘一样,每个元素除以数字即可。

C =10    40    90160   250   360490   640   810
>> C/10
ans =1     4     916    25    3649    64    81
>> C./10
ans =1     4     916    25    3649    64    81

矩阵和矩阵除法

一般老师不让学生学除法具体怎么算,太反人类了,大家只需要记得A/B=A*inv(B)就行。当然啦,既然换成了乘法,也要注意取逆之后的两个矩阵的行列数能不能乘起来。

所谓左除右除,就是被除数和除数位置调转而已。

>> A=[1,3,5;3,4,5;2,4,8]
A =1     3     53     4     52     4     8
>> B=[2,5,8;3,7,2;5,3,2]
B =2     5     83     7     25     3     2
>> A/B
ans =0.6395   -0.0058   -0.05230.5233    0.0407    0.36631.0233   -0.2093    0.1163
>> A*inv(B)
ans =0.6395   -0.0058   -0.05230.5233    0.0407    0.36631.0233   -0.2093    0.1163

矩阵和矩阵点除

也就是元素一一对应相除

>> A=[1,3,5;3,4,5;2,4,8]
A =1     3     53     4     52     4     8
>> B=[2,5,8;3,7,2;5,3,2]
B =2     5     83     7     25     3     2
>> A./B
ans =0.5000    0.6000    0.62501.0000    0.5714    2.50000.4000    1.3333    4.0000

dot点乘/内积/点积/数量积

dot(A,B,X)入参X 为1表示按列,为2表示按行,默认按列。算法如下

A=[a1 a2 a3;a4 a5 a6]
B=[b1 b2 b3;b4 b5 b6]
C=[c1 c2 c3]
D=[d1 d2 d3]dot(A,B)=dot(A,B,1)%按列(每列合在一起变成一行)
=[a1*b1+a4*b4,a2*b2+a5*b5,a3*b3+a6*b6]dot(A,B,2)%按行(每行合在一起变成一列)
=[a1*b1+a2*b2+a3*b3;a4*b4+a5*b5+a6*b6]dot(C,D)=dot(D,C)=dot(inv(C),D)%如果是向量,无论方向,合起来变成一个标量
=c1*d1 + c2*d2 + c3*d3 

例子如下

%矩阵
>> A=[1 2 3; 4 5 6;7 8 9]
A =1     2     34     5     67     8     9
>> B=[10 20 30;40 50 60;70 80 90]
B =10    20    3040    50    6070    80    90
>> dot(A,B,1)
ans =660         930        1260
>> dot(A,B,2)
ans =1407701940%向量
>> A=[2 4 6 8]
A =2     4     6     8
>> B=[3 4 5 6]
B =3     4     5     6
>> dot(A,B)
ans =100

cross叉积/向量积/矢量积

这个就比较复杂了,要求也多:

1、相乘的两个对象行列相同

2、至少有一个维度的长度是3,也就是要么3行要么3列

算法如下

A=[a1 a2 a3;a4 a5 a6]B=[b1 b2 b3;b4 b5 b6]cross(A,B)=
[(a2*b3 - a3*b3),(a3*b1 - a1*b3),(a1*b2 - a2*b1);(a5*b6 - a6*b5),(a6*b4 - a4*b6),(a4*b5 - a5*b4)]

举个例子

>> A=[1 2 3]
A =1     2     3
>> B=[4 5 6]
B =4     5     6
>> cross(A,B)
ans =-3     6    -3
>> C=[1 2 3;4 5 6]
C =1     2     34     5     6
>> D=[30 20 10;60 50 40]
D =30    20    1060    50    40
>> cross(C,D)
ans =-40    80   -40-100   200  -100

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

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

相关文章

什么是接口测试?如何做接口测试

接口测试是指对系统或应用程序接口进行测试,以验证接口的功能、可靠性、性能、安全性等方面的需求是否被满足。接口测试可以用于测试不同系统、模块、组件之间的交互和通信,包括 Web 接口、网络接口、数据库接口等。其重点是测试数据传输、数据格式、数据…

excel做预测的方法集合

一. LINEST函数 首先,一元线性回归的方程: y a bx 相应的,多元线性回归方程式: y a b1x1 b2x2 … bnxn 这里: y - 因变量即预测值x - 自变量a - 截距b - 斜率 LINEST的可以返回回归方程的 截距(a) 和 斜…

MySQL基础笔记

MySQL 1. SQL1.1 SQL-DDL语句1.1.1 数据库操作1.1.2 表操作 1.2 MySQL-DML语句1.3 MySQL-DQL语句1.3.1 基本查询1.3.2 条件查询1.3.3 聚合函数1.3.4 分组查询1.3.5 排序查询1.3.6 分页查询 1.4 MySQL-DCL语句1.4.1 管理用户1.4.2 权限控制 2. 函数2.1 字符串函数2.2 数值函数2.…

mybatis动态SQL-choose-when-otherwise

1、建库建表 create database mybatis-example; use mybatis-example; create table emp (empNo varchar(40),empName varchar(100),sal int,deptno varchar(10) ); insert into emp values(e001,张三,8000,d001); insert into emp values(e002,李四,9000,d001); insert into…

性能测试、负载测试、压力测试之间的差异!

1、什么是性能测试 性能测试是一种用于确定计算机、网络或设备速度的测试。它通过在不同的负载场景中传递不同的参数来检查系统组件的性能。 2、什么是负载测试 负载测试是在任何应用程序或网站上模拟实际用户负载的过程。它检查应用程序在正常和高负载期间的行为。当开发项目…

Gin之GORM 操作数据库(MySQL)

GORM 简单介绍 GORM 是 Golang 的一个 orm 框架。简单说,ORM 就是通过实例对象的语法,完成关系型数据库的操作的技术,是"对象-关系映射"(Object/Relational Mapping) 的缩写。使用 ORM框架可以让我们更方便…

医保电子凭证在项目中的集成应用

随着医保电子凭证使用普及,医疗行业的各个场景都要求支持医保码一码通办,在此分享一下,在C#和js中集成医保电子凭证的demo 供有需要的小伙伴参考。 一、项目效果图 在c#中集成医保电子凭证效果 在js中集成医保电子凭证效果 二、主要代码 c#…

【漏洞复现】FLIR AX8红外线热成像仪命令执行漏洞

漏洞描述 eledyne FLIR 设计、开发、制造以及强大的传感和意识技术。自透射热图像、可见光图像、可见频率分析、来自测量和诊断的先进威胁测量系统以及日常生活的创新解决方案。 Teledyne FLIR 提供多种产品用于政府、国防、工业和商业市场。我们的产品,紧急救援人员,军事人…

分割均衡字符串 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 均衡串定义:字符串只包含两种字符,且两种字符的个数相同。 给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。 约定字符串中只…

机器学习三个基本要素:优化算法

在确定了训练集 D、假设空间 ℱ 以及学习准则后,如何找到最优的模型𝑓(x,θ∗) 就成了一个最优化(Optimization)问题。机器学习的训练过程其实就是最优化问题的求解过程。 参数与超参数 在机器学习中,优化又可以分为参…

Docker | Docker+Nginx部署前端项目

= ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:Docker系列 ✨特色专栏: MySQL学习 🥭本文内容:Docker | Docker+Nginx部署前端项目 📚个人知识库: [Leo知识库]https://gaoziman.gi…

原生微信小程序将字符串生成二维码图片

weapp-qrcode.js再最后 inde.ts中的内容 // pages/qrCode/index.ts // 引入weapp-qrcode.js文件 var QRCode require(../../utils/weapp-qrcode) Page({/*** 页面的初始数据*/data: {orderNo:"",imagePath:},/*** 生命周期函数--监听页面加载*/onLoad(options:any)…

深度学习网站集锦1

深度学习网站集锦 1. https://paperswithcode.com/导航栏论文和代码做了对应可以下载数据集角度看对应相关paper code看神经网络常用方法paper及实现code有什么用处还有哪些网站 1. https://paperswithcode.com/ 超简单实用,推荐的深度学习科研必备网站&#xff08…

I/O设备模型

I/O设备模型 绝大部分的嵌入式系统都包括一些I/O(Input/Outut,输入/输出)设备,例如仪器上的数据显示屏、工业设备上的串口通信、数据采集设备上用于保存数据的Flash或SD卡,以及网络设备的以太网接口等。 I/O设备模型…

【Gradle】mac环境安装Gradle及配置

官网安装说明:Gradle | Installation 由于Gradle运行依赖jvm,所以事先需要安装jdk,并确认你的jdk版本和gradle版本要求的对应关系,这个官网上有说明,但是我试了一下不太准确,供参考,链接如下&a…

接口测试-Jmeter使用

一、线程组 1.1 作用 线程组就是控制Jmeter用于执行测试的一组用户 1.2 位置 右键点击‘测试计划’-->添加-->线程(用户)-->线程组 1.3 特点 模拟多人操作线程组可以添加多个,多个线程组可以并行或者串行取样器(请求)和逻辑控制器必须依赖线程组才能…

解决 php 连接mysql数据库时报错:Fatal error: Class ‘mysqli’ not found in问题【更新23.12.12】

在使用php对mysql进行连接的过程中,出现了Fatal error: Uncaught Error: Class "mysqli" not found in的问题 解决方案 这个错误通常表示您的PHP代码中缺少MySQL扩展或者没有启用MySQL扩展。 我们首先确认一下PHP环境中已经安装了MySQL扩展。检查一下自己…

跨境电商怎么获客?这些技巧你知道吗?

随着全球化的加速发展,跨境电商已经成为了一个不可忽视的商业领域,然而,在竞争激烈的市场环境中,如何获取更多的客户成为了每一个跨境电商从业者必须面对的问题。 本文将为你揭示一些有效的获客技巧,帮助你在跨境电商…

滑动窗口如人生,回顾往事不复还———力扣刷题

第一题:长度最小的子数组 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 思路: 第一想法肯定时暴力枚举,枚举数组任何一个元素,把他当起始位置,然后从起始位置找最短区间,使得…

C/C++ 快乐数: 编写一个算法来判断一个数n是不是快乐数

题目: 编写一个算法来判断一个数n是不是快乐数。 快乐数的定义: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过…