菜鳥的Matlab數學實驗學習筆記(1)

注明:本學習筆記目的用于作者個人學習,其內容整理出自MOOC電子科技大學數學實驗張勇老師等的課程課件,再次注明,請勿轉載。www.icourse163.org/learn/UESTC-235004


1.1基本語法

1.變量命名規則

a.必須以字母開頭;b.區分大小寫;c.可有字母、下劃、線數字組成

example: numcar or num_car; %變量名應能夠反映其實際含義。

2.賦值語句

變量名=表達式;

example: a=[2,3,4,5]; or a(2)=10;

其他賦值語句形如:變量名=函數名(輸入參數列表);[變量名列表]=函數名(輸入參數列表)

3.表達式語句

一個語句可以只有表達式,系統自動將表達式的結果賦值給MATLAB內部變量"ans"。

4.語句分隔符

分號和逗號,如果不加分號,系統會顯示運算后的結果。

5.常用命令、快捷鍵

clear? ? ? ? ? 清除工作空間中的變量

如:clear? ?變量名列表

示例:

clear A B? ? 清除變量A,B

clc? ? ? ? ? ? ? 清除命令窗口內容

who? ? ? ? ? ? 列出當前工作空間所有變量名稱

whos? ? ? ? ? 列出當前工作空間變量更多信息(維數,占用內存字節數等)

whos? ? ? ? ? 變量名列表

示例:

whos v1 v2列出變量v1,v2的更多信息

快捷鍵:向上方向鍵、向下方向鍵

用于瀏覽命令窗口歷史命令、語句



1.2數組的創建與使用

1.2.1創建數組

1. 使用方括號

同一行的元素用“空格或逗號”分隔,不同行的元素用“分號或換行”分隔。

如: X=[1,2,3;4,5,6;7,8,9];

? ? ? ? Y=[2,3,4

? ? ? ? ? ? ? 5,6,7];

2.冒號符操作

用于創建行向量a:step:b 其中a:b等同于a:1:b,a為起始值,step為增量,b用于判斷向量終點值。

x=1:5 表示x=[1 2 3 4 5],增量默認為1

x=1:2:9 表示x=[1 3 5 7 9]

x=10:-2:1 表示x=[10 8 6 4 2]

3.linspace(a,b,n)

n-1等分區間[a, b]的節點組成的行向量(含區間端點a, b)

示例:x=linspace(-2, 2, 5) %表示x=[-2 -1 0 1 2]

如果要產生一個區間上的均勻節點,并且指定所產生數組的元素個數,則使用linspace更為方便。

4.拼接

示例格式1:[A B] 橫向拼接要求A,B行數相同,

示例格式2:[A; B] 縱向拼接,要求A,B列數相同.

示例:z=[rand(2,3), rand(2,2) ]

5.空矩陣[ ] 產生一個空矩陣

示例:a=[ ]

6.調用函數創建

a = zeros(m, n) 產生一個m行、n列的零矩陣;多用于變量的初始化

a = ones(m, n) 產生一個m行、n列的元素全為1的矩陣

a = eye(m, n) 產生一個m行、n列的單位矩陣

1.2.2修改和提取數組中的元素

通過數組下標訪問:(1)下標為大于等于1 的整數;(2)下標不能越界

常用語法:示例:x(i), x(a : b : c), x([a b c d]),x(i,j)

獲取子陣:

獲取某一行 A(r, :) 第r行;

獲取某一列 A(:, c) 第c列

獲取子陣A(行下標集,列下標集)

修改元素:用賦值語句修改。如果賦值語句右側不是一個標量,則要求賦值語句兩側表示的數組維數要相同,否則造成維數不一致的錯誤。

參考用法1:A(i,:)=B(k,:),

參考用法2:A([1 2],:)=V

1.2.3刪除數組中的元素

操作方式:將空矩陣賦值給相應子陣達到刪除目的。

用法:

A(i1:i2,:)=[]%刪除A由i1:i2指定的行

A(:,j1:j2)=[]%刪除A由j1:j2指定的列

1.2.4 end在存取數組元素方面的特殊用法

用法:end在下標表達式中表示最后一個下標值

如果end出現在一個向量的下標中,則表示向量的元素個數。

如果end出現在一個矩陣的行下標位置,則表示矩陣的行數。

如果end出現在一個矩陣的列下標位置,則表示矩陣的列數。

示例:x=[1 5 9; 2 6 10; 3 7 11; 4 8 12];

x(end,2)= 0; x%將矩陣x的最后一行第2列元素賦值為0

其他例子:

-------------------操作向量示例

t = rand(1,10);

x1 = t(1:end-1) %取第1個-倒數第2個

x2 = t(end-2:end) %取倒數第3個-倒數第1個

–操作矩陣示例

A = rand(3)

B = A(1:end-1, : ) %取A的第1行-倒數第2行

C = A(:, [2:end]) %取A的第2列-倒數第1列



1.3運算符

1.3.1算術運算符

矩陣轉置B. '矩陣共軛轉置B'

矩陣加減:A+B,A-B,A與B維數相同或其中之一為標量

矩陣相乘:A*B,A與B為矩陣或其中之一為標量

矩陣左除:A\B,當A為方陣表示: A-1B

矩陣右除:A/B,當B為方陣表示AB-1,或B為標量

矩陣冪:A^n,A為方陣

數組對應元素計算:

數組相乘:C=A.*B

數組右除:C=A./B;

數組左除:C=A.\B

數組冪:C=A.^B

要求:A, B同維數或其中之一為標量

1.3.2關系運算符


關系運算符說明

1.3.3邏輯運算符


邏輯運算的值為0(代表“假”)或1(代表“真”)

三種運算符:

與(and) &

或(or) |

非(not) ~



1.4變量數據類型

主要的數據類型:double char sym struct cell

a=rand(3); b='Li San';%a為double型,b為char型

syms x, y=1 + x^2 %x,y為sym類型;對y賦值的語句含符號對象

F.name='li San', F.birth=1999, F.src=rand(3)%F為struct型

whos a b x y F

Name Size Bytes Class Attributes

F 1x1 620 struct

a 3x3 72 double

b 1x6 12 char

x 1x1 112 sym

y 1x1 112 sym

查看變量類型

示例:

a=rand(3); b='abc'

class(a), class(b)

運行結果:

ans= double

ans= char

使用函數class

用法:class(變量名)

該函數返回變量的數組類型的char型數組,如'double', 'char'。

cell數組基本用法

創建數組用法:

a=cell(m,n)

存取cell數組用法示例:

a{i} i為下標

a{i,j} i,j分別為行、列下標

特點:一個cell數組中的元素的類型可以互不相同



1.5基本輸入與格式化輸出操作函數

三個函數:

input 輸入函數

輸入函數input

第一種用法:

input(提示信息字符數組)

用于輸入一般類型數據

第二種用法:

input(提示字符串,'s')

用于輸入字符數組(含第2個參數's')

disp顯示數組內容函數

顯示數組的元素

數組顯示函數disp(變量名)

特點:顯示數組內容,但不輸出變量名

多用于調試程序時顯示數組內容

sprintf將數組內容格式化為字符串

格式化輸出函數sprintf

功能:將數據格式化輸出為字符串

用法:str = sprintf(formatSpec,A1,A2,...,An)

將數組A1,A2,...,An按照參數formatSpec格式化為字符串賦給str.

%d 格式化整數%f 格式化浮點數

%c 格式化單個字符%s 格式化字符數組

百分號符號字符后可以加個整數, 用以限定輸出化為字符串的長度,例如:%5d, %5s。



?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容