Matlab基礎語法篇(上)

Matlab基礎語法(上)

  • 一、基知
    • (一)界面介紹
    • (二)常用快捷鍵
    • (三)常用指令
    • (四)Matlab幫助系統
  • 二、運算基礎
    • (一)變量
    • (二)數據類型
    • (三)基本運算符的使用
    • (四)練習
  • 三、矩陣基礎
    • (一)矩陣的創建
      • (1)直接輸入法
      • (2)函數創建法
      • (3)導入本地文件中的數據
    • (二)矩陣的修改與刪除
    • (三)矩陣的拼接重構重排
  • 四、矩陣的運算
    • (一)調用函數運算
    • (二)算數運算
    • (三)關系運算

一、基知

(一)界面介紹

在這里插入圖片描述

(二)常用快捷鍵

快捷鍵含義
clear清空工作區
clc清空命令行
%%(后面加個空格)分節
ctrl+回車只運行本節
F5運行
ctrl+R注釋
ctrl+T取消注釋
ctrl+I智能縮進
ctrl+C終止死循環
strl+N新建.m文件

(三)常用指令

  • 編輯器中
指令含義
clear清空工作區
clc清空命令行

:寫在其中的每一行代碼尾加 ; 結果不會輸出到命令行窗口,不加會輸出

  • 命令行窗口中
指令含義
help ___調幫助文檔
查看歷史指令

(四)Matlab幫助系統

  1. 在Matlab官網搜索(以sum函數為例)
    MATLAB的幫助中心: https://ww2.mathworks.cn/help/index.html
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述

  2. 使用help指令(以sum函數為例)
    在這里插入圖片描述

注:在有網絡和無網絡連接的情況下得到的信息可能會有差異

忠告:與同類軟件相比,MATLAB的幫助系統非常完善,大家在未來的學習中要要善于利用MATLAB的幫助文檔,去經常查閱


二、運算基礎

(一)變量

在MATLAB 中變量的命名應遵循如下規則:

  • 變量名必須以字母開頭,之后可以是任意的字母、數字或下劃線
  • 變量名區分字母的大小寫,例如a和A代表不同的變量。
  • 變量名不超過63個字符,第63個字符以后的字符將被忽略。
  • 不能定義與 MATLAB關鍵字同名的變量(例如if或end)。要獲取關鍵字的完整列表,請在命令行輸入iskeyword 并運行
  • 特殊變量: ans、pi、inf(1/0)/-inf(正無窮大/負無窮大)

(二)數據類型

  • 數字:整數和浮點數
  • 字符與字符串:’ ’ 與 " "
  • 矩陣:[ ]

(三)基本運算符的使用

針對數值、字符或者邏輯值

含義符號
加法+
減法-
乘法*
除法/
乘方^

(四)練習

題目:對兩個字符變量做基本變量

ch1 = 'a';
ch2 = 'b';ch1 - ch2

在這里插入圖片描述


三、矩陣基礎

(一)矩陣的創建

在MATLAB中,矩陣的創建方法主要有三種,分別是:直接輸入法、函數創建法和導入本地文件中的數據。

(1)直接輸入法

  • 適用于矩陣中元素數量較少的情況。
  • 輸入矩陣時要以中括號 ‘[ ]’ 作為標識符號,矩陣的所有元素必須都在中括號內。
  • 矩陣的同行之間用','' '來分隔,不同行之間用';''回車'來分隔。
a = [1 2 3;4 5 6];
a = [1,2,3;4,5,6];

(2)函數創建法

MATLAB提供的用來生成某些特定的矩陣的函數,常用函數:
zerosoneseye。這三個函數分別用來創建全為0的矩陣全為1的矩陣單位矩陣
例:
在這里插入圖片描述

b = zeros(100);
c = zeros(100,99);

在這里插入圖片描述
在這里插入圖片描述

randrandirandn。這三個函數分別用來創建均勻分布的隨機數均勻分布的隨機整數標準正態分布的隨機數
rand : 數的范圍在0~1之間
在這里插入圖片描述
randi : 數的范圍在imin~imax之間
在這里插入圖片描述在這里插入圖片描述randn : 數隨機取樣至標準正態分布在這里插入圖片描述

d = rand(5,6); % 數的范圍在0~1之間
e = randi([1,6],1,20); % 數的范圍在imin~imax之間
f = randn(5,6); % 數隨機取樣至標準正態分布

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

(3)導入本地文件中的數據

MATLAB可讀取本地的文件,支持的常見格式如下

  • txt、.dat或.csv(適用于帶分隔符的文本文件)
  • xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx或.ods(適用于電子表格文件)

Step1: 在當前文件夾里面創建Excel表格,命名為data.xlsx
在這里插入圖片描述
Step2: 導入數據
在這里插入圖片描述

(二)矩陣的修改與刪除

(1)矩陣元素的修改:
直接利用等號賦值的方法對矩陣中引用位置的元素進行修改
②使用線性索引(單下標的索引)的方式對矩陣的元素進行修改

=:如果你在賦值時將一個或多個元素置于矩陣現有的行和列索引的邊界之外,則會將矩陣的大小進行拓展,MATLAB 會將沒有賦值的位置的元素白動用0填充,使其保持為完整的矩形。

A = [1:4;2:5;3:6]
A(2,:) = 10 % 改第二行全部
A([1,3],[1,2]) = 0 % 改(1,1)、(1,2)、(3,1)、(3,2)
A(4) = 10 % 線性索引,這里即改(1,2)A(5,6) = 888 % 添加的時候超邊了會進行拓展

在這里插入圖片描述
(2)矩陣元素的刪除:
如果我們將等號右側變成空向量[ ],則可以刪除對應位置的元素。需要注意的是,通常只能刪除矩陣的整行或者整列,否則會報錯。
也可以通過線性索引來刪除矩陣的元素。使用線性索引刪除后,MATLAB會將矩陣中剩下的元素按照線性索引的順序放入到一個向量中。另外,使用線性索引可以刪除任意位置的元素,不需要刪除矩陣的一整行或者一整列。

A(:,[1,end]) = [] % 刪除第1列和最后一列的元素
A(1) = [] % 線性索引才可刪除單個元素,但矩陣會變成向量

(三)矩陣的拼接重構重排

(1)矩陣的拼接:

  • 橫向拼接:A和B的行數相同,那么使用[A,B][A,B]以及 cat(2,A,B)都能將 A和 B橫向拼接成一個大的矩陣
  • 縱向拼接:A和B的列數相同,那么使用[A;B]以及cat(1,A,B)都能將A和B縱向拼接成一個大的矩陣。

在這里插入圖片描述

A = [1:4;2:5;3:6]
B = ones(3,2)
C = [A B]

在這里插入圖片描述

A = [1:4;2:5;3:6]
B2 = ones(2,4)
B3 = ones(3,4)
D = [A;B2;B3]

在這里插入圖片描述

(2)矩陣的重構重排:
reshape函數:更改矩陣的形狀reshape(A,m,n)或者reshape(A,[m,n])
(reshape(A,m,n)可把n寫成[ ],讓系統自己推算)

A = randi(10,2,6)
B = reshape(A,3,[]) % 先取第1列,再取第2列……,即A(:)==B(:)

在這里插入圖片描述

sort 函數:對向量或者矩陣進行排序,sort(A,dim),在最后面加一個輸入參
數’descend’,變成從大到小的降序排列

  • dim = 1 時,沿著行方向(從上至下)對矩陣的每一列升序排列
  • dim = 2 時,沿著列方向(從左至右)對矩陣的每一行升序排列
A = randi(10,2,6)
sort(A,1)
sort(A,2)
sort(A,1,'descend')

在這里插入圖片描述

sortrows函數:基于矩陣的某一列對矩陣進行排序,同一行的元素不會改變
sortrows(score,列),在最后面加一個輸入參數’descend’,變成從大到小的降序排列
就是我們要更改之后的大小
在這里插入圖片描述

A = randi(10,2,6)
sortrows(A,2,'descend')

四、矩陣的運算

(一)調用函數運算

在這里插入圖片描述
例:
在這里插入圖片描述

A = randi(10,3,4)sum(A,1) % 計算每一列的和
sum(A,2) % 計算每一行的和
sum(A(:)) % ==sum(sum(A))==sum(A,"all") 將A這個指針變成一個向量,計算總和
prod(A,"all")

在這里插入圖片描述

(二)算數運算

(1)加減:
五種算數運算兼容模式,按對應位置元素運算
在這里插入圖片描述
(2)乘除乘方:

  • * 和 .* 分別表示線代中的矩陣相乘兩個矩陣中對應元素相乘
A = randi(10,3,4)
B = randi(10,4,4)
A*B
C = randi(10,3,4)
D = randi(10,1,4)
C.*D

在這里插入圖片描述

  • /(右除)、\(左除)和 ./
  • ^ 和 .^ (冪運算、乘方)
A2 = randi(10,3,3)
A2 ^ 3 % == A * A * A

在這里插入圖片描述
(3)轉置 '(默認將復數變成共軛復數)和 .'

B = [1 2 3+i;2-i 2 3]
B'
B.'

在這里插入圖片描述

(三)關系運算

在這里插入圖片描述

關系運算符可以用來比較兩個數組中元素的關系,如果比較的結果為真,則MATLAB 會返回邏輯值1;如果結果為假,則會返回邏輯值0。

A = [1:4] %先會給自己疊三行
B = ones(3,4)
A == B

在這里插入圖片描述


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43505.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43505.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43505.shtml

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

相關文章

車道線識別研究

想研究車道線識別的深度學習網絡… 目錄 1.車道線數據集匯總及研究1.1 CULane Datesets1.1.1 相關連接1.1.2 介紹 1.2 Tusimple1.3 LLAMAS1.4 APOLLOSCAPE 2.車道線檢測框架2.1 LaneNet:實時車道線檢測框架 1.車道線數據集匯總及研究 參考文檔: 1.車道線…

sysbench 搭建使用

1.下載地址: https://github.com/akopytov/sysbench/tree/0.5 2.安裝 #進入解壓目錄,并且創建安裝目錄: unzip sysbench-0.5.zip cd sysbench-0.5#安裝依賴包 yum -y install automake autoconf libtool mysql-devel#準備編譯 ./autogen.s…

【初階數據結構】深入解析隊列:探索底層邏輯

初階數據結構相關知識點可以通過點擊以下鏈接進行學習一起加油!時間與空間復雜度的深度剖析深入解析順序表:探索底層邏輯深入解析單鏈表:探索底層邏輯深入解析帶頭雙向循環鏈表:探索底層邏輯深入解析棧:探索底層邏輯深入解析隊列:探索底層邏輯深入解析循環隊列:探索…

三、Python日志系統之監控郵件發送

import smtplib from email.mime.text import MIMEText import time import os import datetime from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler# 郵件配置 SMTP_SERVER smtp.example.com SMTP_PORT 587 SMTP_USERNAME your_…

EXISTS、NOT EXISTS、IN和NOT IN辨析

文章目錄 概要EXISTSNOT EXISTSINNOT IN辨析 概要 EXISTS、NOT EXISTS、IN 和 NOT IN 是 SQL 中用于查詢時進行條件判斷的關鍵字,它們在功能上有相似之處,但使用場景和性能表現上有所不同。 EXISTS 1.用途:用于子查詢中,判斷子…

C++:cv.absdiff函數含義

在OpenCV庫中,absdiff函數是一個非常重要的圖像處理函數,其意義在于計算兩個輸入數組(通常是圖像)之間對應元素差的絕對值。這個函數在圖像處理和計算機視覺領域有著廣泛的應用,如圖像對比、運動檢測等。 函數的基本用…

python第三方庫【numpy.array】的使用(超詳細)

NumPy 是 Python 中用于科學計算的基礎庫之一,它提供了高性能的多維數組對象以及這些數組的操作。NumPy 的核心數據結構是 ndarray(N-dimensional array,N維數組),它提供了一種高效的存儲和操作大型多維數組的方法。以…

熬了一晚上,我從零實現了 Transformer 模型,把代碼講給你聽

自從徹底搞懂Self_Attention機制之后,筆者對Transformer模型的理解直接從地下一層上升到大氣層,瞬間打通任督二脈。夜夜入睡之前,那句柔情百轉的"Attention is all you need"時常在耳畔環繞,情到深處不禁拍床叫好。于是…

客戶案例|某大型證券公司數據庫運維場景數據安全實踐

證券行業涉及股票、債券、基金等金融產品的發行、交易和監管,業務具有數據規模大、數據價值高、數據應用場景復雜的顯著特點,其中高速流轉的業務系統中含有海量的客戶個人信息、交易、行情、咨詢等高敏感高價值信息。由于證券期貨業務場景所具有的特殊性…

初中生物知識點總結(人教版)

第一章 認識生物 一、 生物的特征: 1. 生物的生活需要營養 2. 生物能進行呼吸 3. 生物能排出身體內產生的廢物 4. 生物能對外界的刺激做出反應 5. 生物能生長和繁殖 除病毒以外,生物都是由細胞構…

單例模式(大話設計模式)C/C++版本

單例模式 C 餓漢 /* HM hungry man 餓漢 */ #include <iostream> using namespace std; class Singleton { private:Singleton() { cout << "單例對象創建&#xff01;" << endl; };Singleton(const Singleton &);Singleton &operator(c…

C++:cv.contourArea()函數解析

cv::contourArea是OpenCV庫中用于計算輪廓面積的函數。該函數非常適用于圖像處理中的形狀分析、物體檢測等領域。以下是關于cv::contourArea的詳細介紹&#xff1a; 一、函數概述 cv::contourArea是OpenCV中用于計算封閉輪廓面積的函數。它接受一個輪廓作為輸入&#xff0c;并…

Fedora 41 移除 Python 2支持

2024年的今天&#xff0c;在 Python 3 發布 16 年后&#xff0c;Fedora 發行版項目宣布 Fedora 41 將移除 Python 2.7。 除了 PyPy&#xff0c;Fedora 41 以及之后的版本將不再有 Python 2.7。運行時或構建時需要 python2.7 的軟件包也將面臨退役。 Fedora 41 將包含圖像處理…

C++ 十進制與十六進制之間相互轉換

十進制與十六進制之間相互轉換 10_to_16 與二進制類似&#xff0c;十進制轉十六進制對16整除&#xff0c;得到的余數的倒序即為轉換而成的十六進制&#xff0c;特別地&#xff0c;如果超過10以后&#xff0c;分別用ABCDEF或abcdef來代替10、11、12、13、14、15。 代碼1: #in…

【密碼學基礎】基于LWE(Learning with Errors)的全同態加密方案

學習資源&#xff1a; 全同態加密I&#xff1a;理論與基礎&#xff08;上海交通大學 郁昱老師&#xff09; 全同態加密II&#xff1a;全同態加密的理論與構造&#xff08;Xiang Xie老師&#xff09; 現在第二代&#xff08;如BGV和BFV&#xff09;和第三代全同態加密方案都是基…

Git 快速上手

這個文檔適用于需要快速上手 Git 的用戶&#xff0c;本文盡可能的做到簡單易懂 ?????? git 的詳細講解請看這篇博客 Git 詳解&#xff08;原理、使用&#xff09; 1. 什么是 Git Git 是目前最主流的一個版本控制器&#xff0c;并且是分布式版本控制系統&#xff0c;可…

合規與安全雙重護航:ADVANCE.AI讓跨境支付更無憂

近年來&#xff0c;隨著全球化進程的加速和跨境貿易的蓬勃發展&#xff0c;跨境支付的需求大幅增加。根據Grand View Research的報告&#xff0c;2021年全球跨境支付市場規模估計為22.09萬億美元。到2025年&#xff0c;全球跨境支付市場預計將達到35.9萬億美元&#xff0c;較20…

rfid資產管理系統解決方案 rfid固定資產管理系統建設方案

在現代化的倉庫儲備中&#xff0c;僅僅完成對貨物進出的簡單批次處理已經不再足夠&#xff0c;對庫內貨品的種類、數量、生產屬性、垛位等信息的清晰記錄變得至關重要。然而&#xff0c;傳統的資產管理方式如條形碼在長期使用中逐漸暴露出不耐臟、數據存儲量小、讀取間隔短、不…

優質可視化大屏模板+動態圖表+科技感原件等

優質可視化大屏模板動態圖表科技感原件等 軟件版本&#xff1a;Axure RP 9 作品類型&#xff1a;高保真 作品內容&#xff1a; 1、大屏可視化模版&#xff08;100套&#xff09;&#xff1a;包含智慧城市、智慧社區、智慧園區、智慧農業、智慧水務、智慧警務、城市交通、電…

新加坡工作和生活指北:教育篇

文章首發于公眾號&#xff1a;Keegan小鋼 新加坡的基礎教育在東南亞處于領先地位&#xff0c;這點基本是人盡皆知&#xff0c;但很多人對其教育體系只是一知半解&#xff0c;今日我們就來深入了解一下。 新加坡的學校主要分為三大類&#xff1a;政府學校、國際學校、私立學校。…