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.pswp.cn/news/211173.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211173.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211173.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++普通函數與函數模板的調用規則

調用規則 如果函數模板和普通函數都可以實現,優先調用普通函數可以通過空模板參數列表來強制調用函數模板函數模板也可以重載如果函數模板可以產生更好的匹配,優先調用函數模板 總結:既然提供了函數模板,最好就不要提供普通函數…

CSS 如何居中 DIV

如何居中 div? 水平居中:給 div 設置一個寬度,然后添加 margin:0 auto 屬性 div {width: 200px;margin: 0 auto; }水平居中,利用 text-align:center 實現 .container {background: rgba(0, 0, 0, 0.5);text-align: center;font…

基于ssm鐵嶺河醫院醫患管理系統論文

摘 要 21世紀的今天,隨著社會的不斷發展與進步,人們對于信息科學化的認識,已由低層次向高層次發展,由原來的感性認識向理性認識提高,管理工作的重要性已逐漸被人們所認識,科學化的管理,使信息存…

logback的使用

1 logback概述 SLF4J與其它日志組件調用關系圖如下所示。 SLF4J,即Java中的簡單日志門面(Simple Logging Facade for Java),不是具體的日志解決方案,它只服務于各種各樣的日志系統。 SLF4J最常用的日志實現框架是&am…

2023 CCF中國軟件大會(CCF ChinaSoft) “區塊鏈可靠性分析”論壇成功召開

2023年12月1日上午,2023年度CCF中國軟件大會區塊鏈可靠性分析論壇成功召開。 本次論壇由中山大學鄭子彬、澳門科技大學張濤、中科院軟件所蔡彥和中山大學陳嘉弛四位老師聯合組織舉辦。本論壇重點關注區塊鏈可靠性,邀請了近年來在區塊鏈可靠性研究方面有先…

【postgresql】ERROR: INSERT has more expressions than target columns

執行下面sql insert into apply_account_cancellation3 select * from pply_account_cancellation; 返回下面錯誤信息 insert into apply_account_cancellation3 select * from apply_account_cancellation > ERROR: INSERT has more expressions than target colu…

【Rust】第二節:入門(如入)

1 說明 包含"Hello, world!“以及"Hello, cargo!” 環境:MacOS 2 Hello world 2.1 運行 1、建一個目錄 2、用vscode打開 3、新建文件main.js 4、輸入 fn main(){println!("Hello, world!"); }5、打開終端,執行rustc main.rs 6、…

Java:字節流 文件輸出與讀入方法 并 實現文件拷貝

文章目錄 字節 流FileOutputStream換行 與 續寫FileInputstream實現 文件拷貝(字節數組 讀入方法)字節流 編碼 字節 流 FileOutputStream 創建對象,指定位置(產生數據傳輸通道) 參數可以是File對象,也可以…

特征驅動開發

FDD 方法來自于一個大型的新加坡銀行項目。FDD 的創立者 Jeff De Luca 和 Peter Coad 分別是這個項目的項目經理和首席架構設計師。在 Jeff 和 Peter 接手項目時,客戶已經經歷了一次項目的失敗,從用戶到高層都對這個項目持懷疑的態度,項目組士…

mysql面試題——日志

一:為什么需要REDO日志 緩沖池可以幫助我們消除CPU和磁盤之間的鴻溝,checkpoint機制可以保證數據的最終落盤,然而由于checkpoint 并不是每次變更的時候就觸發 的,而是master線程隔一段時間去處理的。所以最壞的情況就是事務提交后…

持續集成交付CICD:Jenkins配置Nexus制品發布

目錄 一、實驗 1.Jenkins配置Nexus制品發布 一、實驗 1.Jenkins配置Nexus制品發布 (1)策略 發布其實就是下載制品,然后將制品發送到目標主機,最后通過腳本或者指令啟動程序。 (2)安裝Maven Artifact …

前端知識(十一)———js判斷上傳的文件是GBK編碼還是UTF-8

1、獲取文件二進制數據,這里只做示例,例如element-ui中文件上傳的beforeUpload方法,返回的file對象,然后使用FileReader對其進行轉換,再進行后續判斷 function beforeUpload(file: File) { const reader new FileRe…

uniapp圖片預覽

用的是Uview組件庫里面的 直接在頁面寫上&#xff1a; <u-album singleSize"100" :urls"[https://lxt.jingyi.icu/item.img]"></u-album> 這圖片路徑是我自己的 你們可以按照組件庫里面的方法去實現

DataFrame的使用

查看數據類型及屬性 # 查看df類型 type(df) # 查看df的shape屬性&#xff0c;可以獲取DataFrame的行數&#xff0c;列數 df.shape # 查看df的columns屬性&#xff0c;獲取DataFrame中的列名 df.columns # 查看df的dtypes屬性&#xff0c;獲取每一列的數據類型 df.dtypes df.i…

標準成本核算基礎知識 – 了解間接費用成本流程 - Part4

原文地址&#xff1a;Basics of Standard Costing – Understanding overhead cost flow-Part 4 | SAP Blogs 這是我理解標準成本計算及其流程的另一篇文檔的延續。 標準成本核算基礎知識 - 了解成本構成結構 - 第 3 部分 管理費用是只能間接歸因于產品的成本&#xff0c;例如…

react中使用react-konva實現畫板框選內容

文章目錄 一、前言1.1、API文檔1.2、Github倉庫 二、圖形2.1、拖拽draggable2.2、圖片Image2.3、變形Transformer 三、實現3.1、依賴3.2、源碼3.2.1、KonvaContainer組件3.2.2、use-key-press文件 3.3、效果圖 四、最后 一、前言 本文用到的react-konva是基于react封裝的圖形繪…

基礎課20——從0-1客服機器人生命周期

溫馨提示&#xff1a;篇幅較長&#xff0c;可點擊目錄查看對應節點。 1.機器人搭建期 搭建機器人包含&#xff1a;素材整理、問題提煉、相似問題補充、答案編輯、問題分配引擎等等步驟&#xff0c;不同廠商可能有所區別&#xff0c;但關鍵功能的實現離不開以下步驟。 1.1素材…

Flutter路由的幾種用法

Flutter路由跳轉 基本路由跳轉 ElevatedButton(onPressed: () {//基本路由跳轉Navigator.of(context).push(MaterialPageRoute(builder: (BuildContext context) {return const SearchPage();}),);},child: const Text("基本路由跳轉"), ), search.dart頁面 impo…

說說react的事件機制?

React的事件機制是一種用于處理用戶界面事件的方式&#xff0c;它建立在原生DOM事件的基礎上&#xff0c;提供了一種更高級、更一致的方式來處理事件。 1. 合成事件&#xff08;Synthetic Events&#xff09;&#xff1a;React引入了合成事件的概念&#xff0c;它是一種React自…

K8S學習指南(3)-minikube的安裝

這里寫自定義目錄標題 簡介Windows 系統安裝步驟 1&#xff1a;安裝 Hypervisor步驟 2&#xff1a;安裝 kubectl步驟 3&#xff1a;安裝 Minikube步驟 4&#xff1a;啟動 Minikube CentOS 系統安裝步驟 1&#xff1a;安裝 Hypervisor步驟 2&#xff1a;安裝 kubectl步驟 3&…