日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Matlab数学建模工具

發布時間:2023/12/9 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab数学建模工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Matlab數學建模工具

調整界面字體大小

在最初的界面,所有的字體偏小??雌饋聿皇呛苊鞔_,可以調整互交區域或者編輯區域的字體大小。

具體位置如下。

  • 新建一個空的腳本
    • 主頁
      • 預設
        • 字體
          • 調整數值(通常來說,十八太大,我們使用十四號字體即可)

注釋

在matlab種,注釋通常使用 % 來表示

% 我是一行注釋,我是單行注釋,在我后面的一行字符,統統不算數

什么是互交命令行

在我們的matlab中,存在一個窗口界面,也就是互交命令行。他的作用很大,通常來說。沒有很多行測試腳本的情況下,我們直接使用互交命令行即可,在你敲出第一個代碼/指令的時候,他就會立馬給你一個回饋。

互交命令行窗口

互交命令行發出一行指令后,立馬回饋的信息

如果我們感覺互交命令行太亂,即可在指令處輸入這一個指令,來清除所有的文本文字。

clc

呢么對應的效果就是如下

空空如也。

我剛剛有提及過工作區的變量,如果工作區變量不需要,或者過多,想要刪除部分變量或者刪除全部的變量。也是有對應的操作。

% 刪除指定的變量, 假設此時我們擁有變量a,和變量b clear a% 刪除全部的變量 clear all

什么是編輯腳本區域(編輯器)

我們如果有很多行代碼,來運行一個很大的數值運算(二分查找,冒泡排序,優先選擇法等等)一些算法排序。我們肯定不能依靠單一的一行互交來完成任務。呢么我們就存在了一個功能,Script (腳本). 還記得我跟你講過的Java嗎。面向過程編程。由上到下去執行得到最終的結果值。是的,他也是這樣的理念。在一個以 .m 結尾的文件里,來書寫代碼,最后執行得到最終的結果值。

呢么如果我們想要去編輯腳本,就需要先創建腳本,于是乎

如何去創建一個腳本

創建腳本有兩種方式,就目前編輯器里最直觀的方式來看。

第一種是直接點擊新建腳本。但是有幾點是需要注意的.

我們會直接得到一個如圖所示的 Untitled,在這個時候就可以開始橋寫你的代碼了,如圖。

好,但是或許你留意到了文件名字后面的 * 號。這是什么意思,其實他的意思很簡單,不光是這個 * 號,包括你以后在所有代碼里遇到文件頭部帶有 *的,都表示了一個意義,呢就是 文件已經發生變動,但是該文件并沒有保存。 我們只需要按住 Ctrl + s 鍵 進行保存即可。所有的文件保存基本上全是這一個操作。在我們按住ctrl + s鍵保存后,會彈出一個要保存在哪里的提示。

此時我們可以在bin目錄下新建文件夾,然后保存到里面即可,文件名稱可以進行更改,在下方藍色處位置。

數據類型

他也是擁有數據類型的,就跟任何一個語言一樣。呢么他的數據類型分為以下幾種。

  • 數字
  • 字符與字符串
  • 矩陣
  • 元胞數組
  • 結構體
數字

數字這個概念其實很好理解,也就是我們所用到的所有和 “數” 有關的東西。 浮點數,整數。呢么對應的操作,肯定是離不開最基本的四則運算。也就是我們所說的 + - * / (加減乘除)

他們也是很好理解的。

% 加法 10 + 20 20 + 30 a = 50; b = 100; a + b;% 減法 20 - 10 10 - 20 a = 10; b = 5; a - b;% 乘法 10 * 2 20 * 1 a = 9; b = 3; a * b;% 除法 20 / 2 30 / 3 a = 9; b = 3; a / b;

字符與字符串

字符是不是對應char類型啊?單個字符存在。我也不是很理解。我剛看文檔一小會。

java

Char c = new Char('a');

matlab

a = 'a'

用最通俗易懂的話來說,字符串就是 Java 的String類的使用而已。此處str為變量。

String str = "我是一個字符串";

matlab也是這樣的。只不過沒有這個類的定義,符號使用單引號。

str = '我是一個字符串,Hello,World!';

當然了,我去測試了一下,雙引號也是可以儲存的,但是他們的區別好像是,使用單引號存儲的變量,和雙引號存儲的變量不一樣在 包括他們的符號和你書寫時使用的單雙引號一致。

str = '我是一個字符串。'; 存儲結果 ----> '我是一個字符串'str2 = "我是一個字符串"; 存儲結果 ----> "我是一個字符串"

對應圖解應該更好理解一些

使用它們輸出也是這樣的一個區別,暫時先放置。等我了解后在回補。

好了,經過我的一些測試,我發現了一些端倪。

如果我們學過Java,是否還記得,字符對應的數字編碼。 ASCII 碼。 a對應的數字,是否是97. 沒錯吧,呢么是什么類型才會有這種情況呢,字符類型。 也就是說上面我們猜對了,他就是和Java的char類型一樣。甚至可以進行運算。

ASCII編碼

為了證實,我收集了ASCII編碼集

Char("32") 空格 SPACE Char("33") ! Char("34") " Char("35") # Char("36") $ Char("37") % Char("38") & Char("39") ’ Char("40") ( Char("41") ) Char("42") * Char("43") + Char("44") , Char("45") - Char("46") . Char("47") / Char("48") 0 Char("49") 1 Char("50") 2 Char("51") 3 Char("52") 4 Char("53") 5 Char("54") 6 Char("55") 7 Char("56") 8 Char("57") 9 Char("58") : Char("59") ; Char("60") < Char("61") = Char("62") > Char("63") ? Char("64") @ Char("65") A Char("66") B Char("67") C Char("68") D Char("69") E Char("70") F Char("71") G Char("72") H Char("73") I Char("74") J Char("75") K Char("76") L Char("77") M Char("78") N Char("79") O Char("80") P Char("81") Q Char("82") R Char("83") S Char("84") T Char("85") U Char("86") V Char("87") W Char("88") X Char("89") Y Char("90") Z Char("91") [ Char("92") \ Char("92") \ Char("93") ] Char("94") ^ Char("95") _ Char("96") ` Char("97") a Char("98") b Char("99") c Char("100") d Char("101") e Char("102") f Char("103") g Char("104") h Char("105") i Char("106") j Char("107") k Char("108") l Char("109") m Char("110") n Char("111") o Char("112") p Char("113") q Char("114") r Char("115") s Char("116") t Char("117") u Char("118") v Char("119") w Char("120") x Char("121") y Char("122") z Char("123") { Char("124") | Char("125") } Char("126") ~ Char("127")  Char("128") € Char("129") ? Char("130") ? Char("131") ? Char("132") ? Char("133") …

于是我使用了 在單引號內加入多個字符字母

str = 'aasssa'; abs(str); 最終結果 -> ans-> 97 97 115 115 115 97

已經到這一步了,呢么不妨做一個大膽的猜想。是否是在單引號內,所有包裹起來的數據都是屬于字符類型的。全部可以轉換為對應的 ASCII字符編碼。

呢么上面有說過,我們也可以使用雙引號包裹,呢么是否雙引號包裹起來的,才是字符串呢?(理論上來說字符串就是一堆char類型拼接成的數組而已。). 實踐永遠是證實的標準。

于是我們使用了第三組數據。

很驚訝,它并不能轉換為對應是ASCII編碼。呢么基本上也就坐實了,使用單引號包裹起來的,就是我們的字符類型,但是他跟我們學過的Java的char類型不一樣,它可以在一個引號內包裹多個字符,但是Java只允許一個包裹一個。

使用雙引號包裹起來的,也就是我們所了解的字符串。對應Java的String類型。 字符和字符串還是有很大區別的??梢愿鶕葱枋褂?。

通常使用單引號,有的參數需要使用雙引號的時候在考慮使用。


abs()函數

于是在這里,我們先暫定做一個小猜想,錯了在改就是。abs() 函數,呢么他的作用是什么,就是把對應的字符,轉換為對應的計算機編碼(ASCII) 的數值。


char()函數

呢么上面提到過。我們可以把字符轉換為數字,呢么我們是否可以把對應ASCII編碼的數字轉換為字符呢?也是可以的,就是我們的標題,char函數。

用法也是很簡單,只需要把字符對應的ASCII編碼輸入進去,就可以轉換為對應的字符。


num2str()函數

他的作用也很簡單,其實是做了一個互相轉化,把數字,轉換為字符類型。

但是需要注意的是,雖然變量a被轉換為字符類型,但是實際上存儲的依然是,數字類型,這個我們可以在方法區或者直接調用變量 a 來得到證實。


str2num() 函數

通過這個函數,可以把字符包裹的數字,轉換為,真實的數字。如

str = '20'; a = str2num(str);--> 20 --> a = 20
length()函數

這個函數也很好理解,返回對應字符的長度,單位是字符。

注意,返回的是字符字符串的長度,也就是使用單引號包裹的字符。才可以完全返回。而使用雙引號包裹的,是屬于一個整體。(測試所得,可能有誤。 我剛剛接觸,不理解。只能猜測。)

因為使用雙引號包裹是有特殊意義的存在,有的函數參數要加單引號,有的要加雙引號是因為:

不能使用數組將字符串與“”連接起來。

s1="12",s2="34",s3="45"s1 ="12"s2 ="34"s3 ="45">> str=[s1,s2,s3]str =1×3 string 數組"12" "34" "45">> s1='12',s2='34',s3='45' s1 ='12's2 ='34's3 ='45'>> [s1,s2,s3]ans ='123445'

矩陣

所有的東西都可以歸結于矩陣的一個運算。矩陣是很強的,也是我們這個軟件的運算核心。比如神經網絡啊,無人駕駛啊等等。

矩陣的定義

如何去定義一個矩陣。

% 最簡單的一個矩陣 a = [1, 2, 3; 4, 5, 6; 7, 8, 9]; a = [1 2 3; 4 5 6; 7 8 9]; % 我們會得到一個結果 a =1 2 34 5 67 8 9

我們可以看到,上面列舉了兩種矩陣的方式,數組。但是在數組里面,有什么規律。

第一種 [1, 2, 3; 4, 5, 6; 7, 8, 9]

我們可以看見。每一行的結尾,都會有一個 ; 結尾,中間連接是使用 , 來連接。這是一個三維矩陣。

第二種 [1 2 3; 4 5 6; 7 8 9]

結尾依然是 ; 分號結尾,但是連接點變成了空格,根據個人喜好來使用即可。

兩種方式都可以。

矩陣的轉置 a(T)

在數學中,矩陣轉置的表現方式是 t。 也就是轉置的首字母縮寫。Transpose;

呃。等一下。我去給你寫一個去。字不好,湊合看。幾個月沒握筆了。

呢么在我們在我們的矩陣中,如何完成一個矩陣的轉置呢。其實也是很簡單的!

% 進行矩陣轉置。 a = [1 2 3; 4 5 6; 7 8 9; 9 6 3] %結果為: a =1 2 34 5 67 8 99 6 3% 開始轉換 b = a'% 結果為 b =1 4 7 92 5 8 63 6 9 3

于是我們把上面的結果使用圖像的形式來展示,可能會更容易看懂一點。畢竟有圖,誰愿意看一堆垃圾數據呢。

不難發現,我們把a 賦值給了b,原本這個操作是沒有問題的。但是問題在哪里呀。我們加上了一個單引號。而這個單引號,所做到的操作是什么,就是 矩陣轉置! 由原來的 橫向矩陣,轉換為了縱向矩陣。 也就是相當于。

[1, 2, 3; 4, 5, 6; 7, 8, 9]T

這樣的一個表達形式。


矩陣向量? 我數學知識不行,不大行,猜測

首先我們寫一個基礎矩陣。

a = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % 得到如下結果 a =1 2 34 5 67 8 98 5 2

呢么我們如何把他變成一個向量。

a = [1, 2, 3; 4, 5, 6; 7, 8, 9];b = a(:);

可以看到,我們的矩陣變由 4 * 3 double 變成了 12 * 1 double。

我只是猜測啊。我只是猜測。只是猜測啊!不確定是向量。 呢么矩陣向量的加減乘除。其實也很好理解。

我的文化知識不夠,對不起大哥們。

好了。先不管,先看看運行結果和規律。

呢么可以看到我們的運行結果為。

>> a = [1, 2, 3; 4, 5, 6; 7, 8, 9; 8, 5, 2]a =1 2 34 5 67 8 98 5 2>> b = a(:)b =147825853692

把他拉扯成向量,可以發現什么。 他并不是橫向拉扯,而是做一個縱向的拉扯,從第一列第一個,也就是 A(ij) ,A1,1

到A2,1 到A3,1 然后是A4,1 第一行拉完之后,就是第二行,A2,2 以此類推。

總結

以上是生活随笔為你收集整理的Matlab数学建模工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。