數學建模 —— MATLAB中的向量

目錄

向量的創建方法

(1)直接輸入法

(2)冒號法(常用)

?(3)利用MATLAB函數創建

linspace函數

logspace函數

向量元素的引用

(1)單個元素引用

(2)多個元素引用

向量元素的修改和刪除


向量的創建方法

MATLAB中,向量的創建方法主要有三種,分別是:直接輸入法、冒號法和利用 MATLAB? 的函數創建。下面我們來進行介紹:


(1)直接輸入法

向量元素需要用英文的中括號“[ ]”括起來,元素之間用空格、逗號、分號或按回車鍵分隔,就可以創建對應的向量。若元素之間用空格、逗號分隔,則創建的是行向量;若用分號、 回車鍵分隔,則創建的是列向量。(注意:這里的逗號和分號都是英文輸入法下輸入的,不能用中文的逗號或分號)

舉例:a=[135]?和 a=[1,3,5]??都可以創建包含元素1,3,5的行向量,并將這個行向量的值賦值給a; 而 b=[1;3;5]?創建的是包含元素1,3,5的列向量。


(2)冒號法(常用)

我們可以利用命令:A:step:B 來創建一個行向量。(冒號也要是英文的!)

其中,A是起始值,step是每次遞增或遞減的步長,B 是終止值(不一定剛好停在這里)。

若step 等于1,則可以直接簡寫成A:B。

直接看上面的概念不夠直觀,下面我們舉幾個例子,大家根據例子來理解會很輕松。

代碼? ? ? ? ? ? ??????????????????結果和相應的解釋

1:2:7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [1?3?5?7]? ? ? ?%每次增加2,直到最后到了7

1:2:8

[1 3 5 7]???? %每次增加2,到了7后再加2等于9,

比8要大,所以到了7就停止了。

1:1:100或1:100? ? ? ? ? ? ? [1 2 3 4.....98 99 100] %步長為1時可以省略

1:10:3?????????????????????????????1 %從1開始,增加10等于11,比3還要大,所以返回1

5:2:1

空的1×0 double行向量? %若A>B且步長step >0,

回空的向量。

10:-1:6? ? ? ? ? ? ? ? ? ? ? ? ? [10 9 8 7 6]%步長為-1,因此會從10開始遞減

10:-10:50

空的1×0 double行向量? %若A<B且步長step <0,則會返回 空的向量。

1:0:2???????? ?????????????????????空的1×0 double行向量 %若step =θ,則返回空的向量。

?上表中,有三種情況都會導致MATLAB 返回空的向量:空的1×0 double 行向量。 怎么理解這個返回結果呢?? 這個“1×0”指的是向量的維度,你可以理解為1行0列,即這個向量是空的,不存在元素。 MATLAB中,我們可以直接使用命令[]創建空的向量。


?(3)利用MATLAB函數創建

我們主要介紹兩個函數linspace 和?logspace,? 它們分別用來創建等差數列和等比數列


linspace函數

首先介紹 linspace 函數,它有兩種用法,區別在于是否給定第三個輸入參數 n, 如果我們 不指定n,? 則 MATLAB會默認 n=100。這個函數使用的頻率也很高,大家需要掌握。

? linspace(a,b):該命令用來創建一個行向量,向量中的第一個元素為a, 最后一個元素為b,形成總數為100個元素的線性間隔的向量。

●?linspace(a,b,n):該命令用來創建一個行向量,向量中的第一個元素為a,?? 最后一 個元素為b,形成總數為n 個元素的線性間隔的向量。

代碼????????? 結果和相應的解釋

linspace(1,100,10)

[11223344556677889100]??? % 個數為1,最后 個數為100,整 個向量構成了一個等差數列,由10個元素組成

linspace(1,99,10)

[1 11.8889 22.7778 33.6667 44.5556 55.4444 66.3333 77.2222 88.1111 99]

%第一個數為1,最后一個數為99,整個向量由10個元素組成構成了一個等

差數列,MATLAB會自動計算等差數列的步長。

linspace(1,10)

[11.09091.18181.27271.3636 ....9.81829.909110]

%如果不指定第三個輸入參數n,則默認生成100個元素的等差數列

linspace(100,1,10)

[100 89 78 67 56 45 34 23 12 1]%如果a>b,則步長是負數

?注意:

  1. (1)linspace不需要指定步長,MATLAB會根據你給定的元素個數n 自動計算出來;而使用冒號法可以自己指定步長。
  2. (2)linspace生成的向量的最后一個元素一定是b,而使用冒號法 a:step:b生成的向量的最后元素不一定是b。

logspace函數

logspace(a,b):??? 創建一個行向量,其第一個元素為10^a,?? 最后一個元素為10^b,? 形成總數為50個元素的等比數列向量。

logspace(a,b,n):創建一個行向量,其第一個元素為10^a,最后一個元素為10^b,形成總數為n個元素的等比數列向量。

代碼

結果和相應的解釋

logspace(2,1,5)

[100 56.234 31.623 17.783 10]

%第一個數為10^2,最后一個數為10^1,5個元素組成的等比數列

logspace(log10(2),log10(1024),10)? ? [2 4 8 16 32 64 128 256 512 1024]? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??????????????????%第一個數為2,最后一個數為1024,10個元素組成的等比數列


向量元素的引用

MATLAB 中,可以使用length? 函數或 numel 函數來計算向量中包含的元素個數。

例如:a=[1,3,8,9,7];length(a) 或 numel(a) 的返回結果是5,因為向量a中有五個元素。

假如我們有一個行向量 a,? 里面包含了n 個元素 (n?是大于等于1的常數),它們分別是 a?,a?,…,an.?? 那么我們可以列一個表格:

向量的元素

a?

a?

a?

······

an-1

an

索引(下標)

1

2

3

·······

n-1

n

從上表可以看出,索引就是指某一個元素在向量中對應的位置,也可以稱為元素在向量中所處的下標,在MATLAB中,向量的索引是從1開始的。


(1)單個元素引用

我們提取向量a 中單個元素的方法很簡單,只需要利用a(index)命令,小括號中的 index就是你要提取的對應元素的索引。(注意:創建向量用中括號,提取元素要用小括號哦!)

報錯的兩種情況:1.索引超出數組元素的數目數組????????2.索引取成0、負數或者小數


(2)多個元素引用

類似的,我們也可以利用向量的索引來同時提取多個位置的元素,這時候只需要將 index 設置成一個向量,index 中放入我們想要提取的元素的索引,然后使用a(index)命令即可。

例如,以向量 a [ 2 4 8 16 32 64 128 256 512 1024 ] 我們令 index = [ 1 3 5 7 9 ],那么 a(index)的結果為[2 8 32 128 512],即我們提取了向量a中奇數位置的元素。熟悉向量冒號創建方法的同學應該能夠看出,index 等于1 : 2 : 9,因此我們可以直接將a(index)寫成 a(1: 2 : 9), 這就表示提取 a 中奇數位置的元素;類似的,提取 a 中偶數位置 元素的命令是a(2 : 2 : 10),如果你不熟練的話,可以分成兩步寫,即先令 ind=2:2:10,然后再使 用a(ind)的命令。當然,對于同一個位置的元素,我們也可以提取多次,例如:ind = [1 2 2 3 3?3],那么 a(ind)得到的結果應該是[ 2 4 4 8 8 8 ],以后熟悉的話可以直接寫成a( [ 1 2 2 3 3 3 ] )

技巧:使用end 索引

不知道向量 a 中有多少個元素,也不想使用length 函數或者numel函數來計算向量中元素的個數,那能不能提取出a 中奇數位置的元素呢?這時候就需要用到一 個特殊的關鍵字:end。 它有很多種用法,在這里end 可以用來替代向量的最后一個索引

例如,我現在要訪問a 中第五個至最后一個元素,那么我們可以直接使用a(5:end), 這里的end 就表示了a 的最后一個索引;另外,我們還可以對end 進行計算,例如要訪問a 中第五個至倒數第三個元素,我們可以使用a(5:end-2),得到的結果為[ 32 64 128 256 ]。


向量元素的修改和刪除

前面我們介紹了向量元素的引用,我們可以利用等號賦值的方法對引用位置的元素進行修改和刪除。令向量a = [ 2 4 8 16 32 64 128],請大家依次執行下面的代碼:

請依次執行下面的代碼???????????? 修改后的向量a

a(1)=4 %第一個元素改成4

[4 4 8 16 32 64 128]

a([1,3])=[50 60]%第1個位置元素改成50;第3個位置元素改成60

[50 4 60 16 32 64 128]

a(1:3)=[56]%賦值時,左右兩側的元素個數要相 同,左邊引用了3個位置,右側的向量長度為2

MATLAB報錯:無法執行賦值,因為左側和右側的

元素數目不同。

a(2:4)=100 %如果右邊為常數,則將指定位置的 元素全部變成這個常數。

%第2至4號位的元素改為了100

[50 100 100 100 32 64 128]

a(10)=88 %把索引為10的元素賦值為88,如果 超過了最大索引,則會自動拓展向量的大小

[50 100 100 100 32 64 128 0 0 88]

%索引8和9的位置會自動用0進行賦值

?如果我們將等號右側變成空向量[],則表示刪除對應位置的元素。

a(1)=[ ]%刪除a的第一個元素

[100 100 100 32 64 128]

a(end-1:end)=[ ]%刪除a中最后兩個元素

[100 100 100 32 64]

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

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

相關文章

微軟Edge瀏覽器多用戶配置文件管理:個性化瀏覽體驗

在家庭或工作環境中&#xff0c;經常需要在同一臺計算機上為多個用戶創建和管理獨立的瀏覽體驗。微軟Edge瀏覽器提供了多用戶配置文件管理功能&#xff0c;允許用戶為每個賬戶設置獨立的書簽、歷史記錄、密碼、擴展和設置。本文將詳細介紹如何在微軟Edge中管理多個用戶配置文件…

連接Sql Server時報錯:無法通過使用安全套接字層加密與 SQL Server 建立安全連接

JDBC連接Sql Server時報錯:無法通過使用安全套接字層加密與 SQL Server 建立安全連接 前言解決辦法一解決辦法二總結 前言 今天使用jdbc連接sql server突然報錯為&#xff1a;SQLServerException: “Encrypt”屬性設置為“true”且 “trustServerCertificate”屬性設置為“fals…

GoMate:配置化模塊化的Retrieval-Augmented Generation (RAG) 框架

文章目錄 GoMate簡介1.1 GoMate的核心技術文檔解析向量存儲嵌入模型問題查詢文本生成文檔更新 1.2 GoMate的應用領域智能客服知識庫構建內容生成教育培訓法律文書處理 GoMate的產品特色2.1 文檔解析2.2 向量存儲2.3 嵌入模型2.4 問題查詢2.5 文本生成2.6 文檔更新 GoMate的使用…

解決SPA(單頁應用)首屏加載速度慢

SPA是目前流行的前端開發模式&#xff0c;相對于傳統的多頁面用戶體驗更好&#xff0c;操作更順暢&#xff0c;開發效率也更高。但是SPA首屏加載速度慢一直是個致命的問題&#xff0c;由于SPA應用首次打開需要一次性加載大量的靜態資源&#xff0c;這就導致了加載速度慢的問題&…

監聽設備方向變化?分享 1 段優質 JS 代碼片段!

大家好&#xff0c;我是大澈&#xff01; 本文約 700 字&#xff0c;整篇閱讀約需 1 分鐘。 每日分享一段優質代碼片段。 今天分享一段 JS 代碼片段&#xff0c;用于在H5端監聽設備方向的變化。 老規矩&#xff0c;先閱讀代碼片段并思考&#xff0c;再看代碼解析再思考&#…

文件夾內-資源名稱前加序號排列

問題&#xff1a;在文件夾下的資源可以按時間排序&#xff0c;導入unity后資源順序會亂掉&#xff0c;不方便按順序賦值&#xff0c;為了方便&#xff0c;通過下面方法在文件夾下統一在資源名稱前按順序加上序號 win11在文件夾內右鍵&#xff0c;選擇——在終端中打開 輸入&a…

制造企業用AI可以做什么?

ChatGPT橫空出世&#xff0c;有關AI的浪潮席卷全球&#xff0c;比起人工智能如何改變世界&#xff0c;可能你更感興趣我能用AI可以做的事情是什么&#xff1f; 制造企業用AI可以做的事情是什么?人工智能在制造企業中可以做很多事情&#xff0c;以下是一些主要的應用&#xff1…

企業源代碼加密軟件丨透明加密技術是什么

在一個繁忙的軟件開發公司中&#xff0c;兩位員工小李和小張正在討論源代碼安全的問題。 “小張&#xff0c;你有沒有想過我們的源代碼如果被泄露了怎么辦&#xff1f;”小李擔憂地問。 “是啊&#xff0c;這是個大問題。源代碼是我們的核心競爭力&#xff0c;一旦泄露&#…

LUA 語言中subtree 的使用教程

在線編輯器&#xff1a; https://www.runoob.com/try/runcode.php?filenameHelloWorld&typelua 在Lua語言中&#xff0c;"subtree"通常指的是一個子表或者子樹&#xff0c;它指的是一個Lua表&#xff08;table&#xff09;中的一個部分&#xff0c;可以是一個單…

<電力行業> - 《第8課:輸電(一)》

1 輸電環節的意義 電能的傳輸&#xff0c;是電力系統整體功能的重要組成環節。發電廠與電力負荷中心通常都位于不同地區。在水力、煤炭等一次能源資源條件適宜的地點建立發電廠&#xff0c;通過輸電可以將電能輸送到遠離發電廠的負荷中心&#xff0c;使電能的開發和利用超越地…

哪些存儲器內可以直接運行程序?

存儲器是否可以運行程序&#xff0c;主要取決于其是否支持eXecute In Place (XIP) 或類似的直接執行特性。下面根據不同存儲器進行分別說明&#xff1a; 1.PROM&#xff08;Programmable Read-Only Memory&#xff0c;可編程只讀存儲器&#xff09;是一種可以通過用戶編程來存…

fiddler使用

1、設置抓取HTTPS的請求 先選中瀏覽器Browser---Chrome 默認是不抓https的數據包的 有時我們抓取的的包是https的&#xff0c;不是http的&#xff0c;就要做一些設置 Tools---Options 勾選Capture HTTPS CONNECTs 勾選Decrypt HTTPS traffic 勾選 Ignore server certificat…

(單機版)神魔大陸|v0.51.0|冰火榮耀

前言 今天給大家帶來一款單機游戲的架設&#xff1a;神魔大陸v0.51.0:冰火榮耀。 如今市面上的資源參差不齊&#xff0c;大部分的都不能運行&#xff0c;本人親自測試&#xff0c;運行視頻如下&#xff1a; (單機版)神魔大陸 下面我將詳細的教程交給大家&#xff0c;請耐心閱…

[數據集][目標檢測]電力場景下電柜箱門把手檢測數據集VOC+YOLO格式1167張1類別

數據集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路徑的txt文件&#xff0c;僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數)&#xff1a;1167 標注數量(xml文件個數)&#xff1a;1167 標注數量(txt文件個數)&#xff1a;1167 標注…

編譯工具-Gradle

文章目錄 Idea中配置Gradle項目project目錄settings.gradlebuild.gradlegradlewgradlew.bat Gradle Build生命周期編寫Settings.gradle編寫Build.gradleTasksPlugins Idea中配置 配置項&#xff1a;gradle位置 及倉庫位置 Gradle項目 Task&#xff0c;settings.gradle,build.…

微型無人機未來發展方向

盡管今天的納米和微型無人機顯示出比早期系統大得多的能力&#xff0c;但在速度、續航能力、航程和有效載荷能力方面仍然存在局限性。在任何或所有這些領域的改進將使部隊能夠在推進或打擊之前收集更大、更詳細的可操作情報。這將允許優化任務規劃&#xff0c;并有可能減少傷亡…

java一面 哭了-------

常見的設計模式 首先設計模式可分為三大類 創建型模式 單例模式&#xff1a;一個類只有一個實例&#xff0c;并提供全局訪問&#xff1b;工廠模式&#xff1a;將創建實例的過程隱藏&#xff0c;實例通過一個工廠方法返回&#xff1b;抽象工廠模式&#xff1a;提供一個創建實…

Web滲透-命令執行漏洞及常見靶場探測實戰

一、概述 命令執行&#xff08;RCE&#xff09;&#xff1a;應用有時需要調用一些執行系統命令的函數&#xff0c;如php中的system,exec,shell exec,passthru,popen,proc popen等&#xff0c;當用戶能控制這些函數的參數時&#xff0c;就可以將惡意系統命令拼接到正常命令中&a…

004-GeoGebra基礎篇-GeoGebra的點

新手剛開始操作GeoGebra的時候一般都會恨之入骨&#xff0c;因為有些操作不進行學習確實有些難以憑自己發現。 目錄 一、點的基本操作1. 通過工具界面添加點2. 關于點的選擇&#xff08;對象選擇通用方法&#xff09;&#xff08;1&#xff09;選擇工具法&#xff08;2&#xf…

【高考志愿】光學工程

目錄 一、專業概述 二、專業特點 三、研究和就業方向 3.1 研究方向 3.2 就業方向 四、光學工程專業排名 高考志愿選擇光學工程專業無疑是一項既具深度又富挑戰性的明智之舉。這個古老而充滿魅力的專業&#xff0c;正逐漸嶄露其在現代社會中的重要性與獨特魅力。 一、專業…