1. 程式人生 > >matlab基本語法

matlab基本語法

1:matlab變數

變數名最多namelengthmax長度,在matlab2016a裡面顯示是63個字元,變數宣告沒有顯式的型別宣告,和python一樣,比如說a=10.0。 Matlab的基本資料結構是矩陣,矩陣中的元素可以是數、字元、邏輯表示式(logic states)、true或false、甚至是Matlab結構體. 基於這個前提,Mathlab能夠處理非常多種類的資料。例如一個單獨的數即一個標量在Matlab中是一個1×1的矩陣,一個行向量為1×N的矩陣,一個列向量為1的矩陣,一個多項式也是用一個向量來表示等等。Matlab也支援二維以上的矩陣,稱為多維陣列(arrays),例如一個三維陣列的元素可以用三維座標值來定位. 不管使用者使用什麼型別的資料(數、字元、邏輯true或false),Matlab都會將這些資料以矩陣或陣列的形式存放
. 例如字串’Hello World’是一個1×11的矩陣,其矩陣元素是一個個單獨的字元. 分號(;)表示結束語句。 在表示式後新增分號能抑制和隱藏表示式的MATLAB輸出。也就是說一般命令列裡面會把上一個指令的值顯示出來,比如說a=10.0,就會再顯示一遍a=10.0,加上;就不會顯示了。 (1)行向量的賦值. 對行向量賦值時,用b=[1,2,3] 或 b=[1 2 3] 這種形式,行向量的每個分量值之間用空格或一個逗號分隔,整體分量值被包含在一個方括號裡. (2) 列向量的賦值. 對列向量賦值時,用 c=[1;2;3] 這種形式,列向量的每個分量值之間用回車鍵或一個分號分隔. (3) 二維矩陣的賦值. 對二維矩陣賦值時,一般用 d=[1,2,3;4,5,6;7,8,9] 的形式,其行內元素用逗號或空格隔開,行與行之間用分號或回車鍵分隔.
另外,還可以用指定矩陣下標的方法給矩陣賦值,下標從1開始,如d(1,1)=1; d(2,2)=2 . 對於沒有賦值的陣列元素,其預設值為0.(ps: 在命令視窗中,一行可以輸入多條語句,語句之間用分號隔開,但如果最後一條語句後面也有分號,則執行或賦值結果不輸出) 2 變數賦給變數 在程式設計過程中,一個非常普遍的操作是將一個變數的值賦給另外一個變數,這在Matlab中也是必須支援的,前提是作為值的變數要是預先定義或者使用過的。例如,我們可以先定義兩個行向量,然後把這兩個行向量作為分量賦值給另一個變數: 這裡用到了一個重要的操作符,即冒號算符(colon operator),格式是first:last,它用於生成一個行向量
,這個向量的元素預設是一個增量為1的有序數列,其第一個元素為first,最後一個元素為last. 例如 a=10:15相當於a=[10,11,12,13,14,15]. 另外還有一種帶步長的冒號操作符,形如first:step:last,它生成的以first開頭以last結尾的行向量,且行向量中元素的增量是step,即後一個元素比前一個元素大step. 例如a=3:0.2:3.8相當於a=[3,3.2,3.4,3.6,3.8]. 如果希望生成一個元素遞減的行向量,則只須將步長設定為複數. 23165549-90b3130b969e4bf189a6a4c163b97189.jpg 因此,前面兩個向量賦值給一個矩陣的例子中,f(1,:)表示f 矩陣中第一行的所有元素, f(2,:)表示第二行的所有元素. 賦值時,f(i)代表一維陣列的下標為i的元素的值,如果知道f不止一維,那麼就要使用f(i,j)來進行賦值,如果先使用了 f(i)=a,那麼再次使用f(i+1,j)或者f(i+1,j:k)的時候就有可能出現維度不匹配無法賦值的情況。 3 生成單位陣 Matlab提供了eye(n) 函式用以方便地生成一個n×n的單位陣, 4 生成對角陣 Matlab中可以用diag 函式生成一個對角陣,如 MATLAB預定義變數 Matlab中有一些預定變數,這些預定義變數具有相應的初始值,其中比較常用的包括:
  1. pi:    返回π,即3.141592653589793.
  2. i,j:    定義為,虛數單位. 如果使用者給這兩個變數賦了其他的值,則它們不再是預定義常數.如果賦值之後希望恢復這其虛數單位值,可以通過clear命令恢復.
  3. inf:   定義為1/0. 當出現被0除時, Matlab就會返回inf,且不中斷執行而繼續計算.
  4. NaN:       定義為”Not a Number”,表示不是一個合法的數.
  5. eps:  返回機器的精度,定義為與1最接近的可代表的浮點數之間的差. 被使用者賦值後不能由clear恢復.
刪除自定義變數和恢復預定義變數 在Matlab中,可以通過一些命令進行變數的刪除和記憶體的重組,主要包括以下幾個命令:
  1. clear: 刪除所有使用者自定義變數並恢復除eps外的所有預定義變數.
  2. clear variable1: 僅刪除名為變數variable1的變數.
  3. clear variable1 variable2 … : 刪除變數variable1 variable2 …
  4. clear a*: 刪除所有以a開頭的變數.
  5. pack: 重組和壓縮已分配的記憶體碎塊. 當Matlab 的記憶體滿後,可以利用這個命令實現在不清除任何變數的情況下得到更多的空間.
  6. pack filename: 用名為filename的檔案作為臨時檔案,重組和壓縮已分配的記憶體.
變數型別(作用域)  Matlab中的變數型別(Types of Variables)分為區域性變數(Local Variable), 全域性變數(Global Variable)和區域性靜態變數(Persistent Variables).
  1. 區域性變數: 如果一個函式內的變數沒有特別宣告, 那麼這個變數只在函式內部使用, 即為區域性變數.
  2. 全域性變數: 全域性變數可以被多個不同的函式和基本工作空間(base workspace)共享. 如果一個函式需要使用全域性變數a , 則必須在函式中(一般在函式的開始部分)宣告該a為global: global a. 如果這個函式包含若干個子函式, 且子函式也需要訪問全域性變數a, 那麼各個子函式中也都要加上global a. 如果某個函式更改了a的值, 那麼之後其他所有聲明瞭a的函式都可以得到這個新值. 如果某個函式需要訪問Matlab命令列中的一個變數b, 那麼需要在命令列中宣告b為global.
  3. 區域性靜態變數: 區域性靜態變數只能在某個M檔案中宣告和使用, 且使用它的函式內需要有宣告. 只要包含區域性靜態變數的函式存在於記憶體中(沒有通過clear命令刪除, 沒有重新編輯), 該區域性靜態變數就一直存在.
上面內容參考部落格https://www.cnblogs.com/zhouqing/p/3277787.html 5: 當表示式返回未分配給任何變數的結果時,系統將其分配給名為ans的變數,比如>>sqrt(16),執行之後ans=4,如果使用c=sqrt(64)是不會把ans更新為8的,只有未將結果分配給變數的時候才會賦值給ans 使用who可以命令顯示使用過的所有變數名,whos顯示的內容更加具體 長任務可以通過使用省略號(...)擴充套件到另一行。 例如, initial_velocity = 0; acceleration = 9.8; time = 20; final_velocity = initial_velocity ... + acceleration * time 使用format命令可以更改精度,比如說format long顯示10進位制後的16位數字,具體檢視 http://www.yiibai.com/matlab/matlab_variables.html 使用rand函式可以生成隨機數構成的矩陣,如: a=rand(2,3,4) a(:,:,1) = 0.6787 0.7431 0.6555 0.7577 0.3922 0.1712 a(:,:,2) = 0.7060 0.2769 0.0971 0.0318 0.0462 0.8235 a(:,:,3) = 0.6948 0.9502 0.4387 0.3171 0.0344 0.3816 a(:,:,4) = 0.7655 0.1869 0.4456 0.7952 0.4898 0.6463 比如說上面的 a(:,:,4) = 0.7655 0.1869 0.4456 0.7952 0.4898 0.6463 是構成的(2,3,4)維矩陣的 1,1,4  1,2,4 1,3,4 2,1,4 2,2,4 2,3,4

2:函式

在MATLAB中,函式在單獨的檔案中定義。檔案的名稱和函式的名稱應該是一樣的。 函式的定義是: function [y1,y2...]=name(x1,x2,...) xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx end 其中主函式裡面可以定義子函式,可以從命令列或其他函式的檔案外部呼叫主函式,但不能從命令列或函式檔案外的其他函式呼叫子函式,子函式僅對函式檔案中的主函式和其他子函式可見。          

檢視原文:http://www.hahaszj.top/%e5%b7%a5%e5%85%b7/matlab%e5%9f%ba%e6%9c%ac%e8%af%ad%e6%b3%95/173

相關推薦

Matlab基本語法基本操作

a = 1 2 3 4 5 6 7 8 9 a = 1 3 5 7 9 ans = 0 0 0 0 0 0 Your

matlab基本語法

1:matlab變數 變數名最多namelengthmax長度,在matlab2016a裡面顯示是63個字元,變數宣告沒有顯式的型別宣告,和python一樣,比如說a=10.0。 Matlab的基本資料結構是矩陣,矩陣中的元素可以是數、字元、邏輯表示式(logic stat

MATLAB基本語法介紹(上)

一、安裝 略 二、介紹 MATLAB和Mathematica、Maple並稱為三大數學軟體。它在數學類科技應用軟體中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等,主要應用於工程計算、控制設計、

matlab基本語法和運算基礎

matlab語法比較隨意,但正如其全名 matrix &laboraty(矩陣實驗室)所言,相比於其他語言,它可以非常便捷實現矩陣運算,就像我們標量的加減乘除一樣簡單。對於矩陣運算的強大支援和強大數學和科學計算函式庫也墊定了其可以廣泛應用在各種科學計算中

Matlab常用語法基本運算

(一)Matlab基本操作    1> 實數的加減乘除乘方等運算       可直接在Matlab的控制檯下進行對應的操作,如下。 >> 5+6 ans = 11 >> 3-2 ans

MATLAB基本語法整理

參考:http://blog.sina.com.cn/s/blog_51a1df5f0100i3gn.html 1.  size():獲取矩陣的行數和列數(1)s=size(A),         當只有一個輸出引數時,返回一個行向量,該行向量的第一個元素時矩陣的行數,第二個

MATLAB基本語法與基礎函式

常用命令 dir:列出當前目錄下的所有檔案 clc:清除命令窗 clear all:清除環境(從記憶體中清除所有變數) who:將記憶體中的當前變數以簡單形式列出 close all: 關閉所有的 Figure 視窗 變數設定 (1).變數命名

[C#] CSharp 基本語法

windows library 命名方式 編譯器 帕斯卡 一、基礎1.規範:除常量外,所有變量用駝峰命名方式,其它用帕斯卡命名方式. 2.編譯:首先由csc.exe將cs文件編譯成MSIL.當雙擊exe的時候,會由clr的jit(just in time)編譯器再次編譯成cpu指令.csc

Swift基礎學習(一)基本語法

postfix 合數 語言特性 初學者 表達式 public 能夠 dict 命名   Swift 簡介(贊美一番,收集了多篇 關於Swift 學習教程的語言簡介一直以為英語和漢語混寫的時候只是英語字母結尾的地方打空格,原來是英語字母的開頭和結尾都要加一個空格,英語字母

C# 基本語法

stack 執行指定 rect pub 標識符 ont check orderby end C# 是一種面向對象的編程語言。在面向對象的程序設計方法中,程序由各種相互交互的對象組成。相同種類的對象通常具有相同的類型,或者說,是在相同的 class 中。 例如,以 Recta

SQL語句基本語法

sql首先寫入可顯示中文代碼set character_set_client=gbk; set character_set_results=gbk;或只輸一句 set names gbk;創建數據庫create database 庫名;查詢現有數據局show databases;刪除數據庫drop data

Xml一(基本語法和約束)、

字符 一行 語言 oca cas 書寫 xsd ati 寫法 XML:eXtensible Markup Language 可擴展標記語言 version="1.0"     * 可擴展:所有的標簽都是自定義的。     * 功能:數據存儲     * 配置文件  

Markdown 基本語法

最大 添加 tle lin hello -s mark lock 橫線 1. 標題設置(讓字體變大,和word的標題意思一樣)在Markdown當中設置標題,有兩種方式:第一種:通過在文字下方添加“=”和“-”,他們分別表示一級標題和二級標題。第二種:在文字開頭加上 “#”

Day1[下] - Python基礎 基本語法、流程控制

數字 tin 流程 label reference rst too ren ogr 一、變量\字符編碼 Variables are used to store information to be referenced and manipulated in a comput

python 基本語法速覽,快速入門

我們 method adding ger monk use gre 數據類型 struct https://zhuanlan.zhihu.com/p/24536868 學習參考於這個博文。 我做一個筆記。 關於python一些常用的語法快速的預覽,適合已經掌握一門編程語

R的基本語法總結

adobe hist 當我 colors gda 編碼 找到 cati 逆時針 條形圖: 基本語法: barplot(H, xlab, ylab, main, names.arg, col) H是包含在挑選圖中使用的數值的向量或矩陣

1.基本語法

lan strong set script rst rip 關於 col doctype 整個教程默認是需要html和css的基礎的,如果後面需要,我會抽時間在寫一份html和css的入門教程;閑話少說,接下來我們一起進入JavaScript這門語言的大門吧! 一、Jav

Kotlin VS Java:基本語法差異(轉載)

允許 接收 point this view 學習 替換 同時 ons 5月18號,goole宣布Kotlin成為官方支持的開發語言以來,Kotlin語言社區,公眾號,qq群等全面轟炸,本文是一篇譯文,來自國外的一個用戶,將給大家介紹,基礎語法部分Kotlin和java之間的

1go基本語法

pan 導入 world 函數 ... pac ring 方法 ack // week1 project main.go//導入一個包(目錄) package main //導入方法 import "fmt" //createMessage函數(參數,類型)返回值的類型(

shell--grep命令+正則表達式+基本語法

及其 gre awk 使用 part 開頭 合集 運算符 擴展 什麽是正則 正則就是用一些具有特殊含義的符號組合到一起(稱為正則表達式)來描述字符或者字符串的方法。或者說:正則就是用來描述一類事物的規則。 在linux中,通配符是由shell解釋的,而正則表達式則是由命令解