Matlab指令記錄
- 指令
-
- subs(S,OLD,NEW)
- eval
- 基本操作
-
- 注釋
- 輸出
- 循環
-
- for 循環
-
- 簡單for循環
- 帶有步長的for循環
- 多層for循環
- 資料處理
-
- 常用資料處理函數
- 資料類型
-
- 數組
-
- 一維數組
-
- 直接輸入向量
- 用:生成等差向量
- 二維數組
-
- 直接輸入
- 冒号快速建立矩陣
- 使用函數生成矩陣
指令
subs(S,OLD,NEW)
subs(S,OLD,NEW) 表示将符号表達式S中的符号變量OLD替換為新的值NEW。
eval
相當于内嵌于代碼的一個指令行,可用于重複執行代碼
eval(expression)
[output1,…,outputN] = eval(expression)
基本操作
注釋
- 快捷鍵 Ctrl +R Ctrl+T
- 直接在代碼前面輸入 %
- %{ %}
- if 0 end
- 注釋指令按鈕
Matlab常用指令及操作指令基本操作資料處理資料類型
輸出
MATLAB輸出變量方法很多,主要包括以下幾類。
(1)語句後面不加分号“;”,這是直接輸出數值的比較簡單的方法。
(2)disp(a)直接在指令視窗顯示a變量,這種方法輸出和第一種差不多。
(3)fprintf(‘a=%f’,a)格式控制輸出,輸出’a='然後再顯示輸出的變量。
(4)save(dir+name,‘變量名’)儲存輸出到某個檔案中去,可以将數值儲存。
循環
for 循環
簡單for循環
>> clear
>> sum = 0;
>> for i = 1:100
sum = sum +i;
end
>> sum
sum =
5050
帶有步長的for循環
>> clear
>> sum = 0;
>> for i = 1:2:10
sum = sum + i;
end
>> sum
sum =
25
多層for循環
>> for i = 1:2:6
for j = 1:3
y = i * j
end
end
資料處理
常用資料處理函數
取整:round()
資料類型
數組
一維數組
直接輸入向量
直接輸入行向量:
>> a=[1,3,2,4]
a=
1 3 2 4
直接輸入列向量:
>> a=[1;3;2;4]
a=
1
3
2
4
用:生成等差向量
等差向量
>> a=2:6
a=
2 3 4 5 6
控制步長的的等差向量
>> a=2:3:20
a =
2 5 8 11 14 17 20
- linspace() 函數
>> a=linspace(1,2,15)
a =
1 至 6 列
1.0000 1.0714 1.1429 1.2143 1.2857 1.3571
7 至 12 列
1.4286 1.5000 1.5714 1.6429 1.7143 1.7857
13 至 15 列
1.8571 1.9286 2.0000
二維數組
直接輸入
冒号快速建立矩陣
>> A=[1:3; 4:6]
A =
1 2 3
4 5 6
>> B=[2:3:11; 4:2:10]
B =
2 5 8 11
4 6 8 10
使用函數生成矩陣
>> ones(2,4) %産生(2x4)全 1 數組
ans =
1 1 1 1
1 1 1 1
>> randn('state',0) %把正态随機數發生器置 0
>> randn(2,3) %産生正态随機陣
ans =
-0.4326 0.1253 -1.1465
-1.6656 0.2877 1.1909
>> D=eye(3) %産生 3x3 的機關陣
D =
1 0 0
0 1 0
0 0 1
>> diag(D) %取 D 陣的對角元
ans =
1
1
1
>> diag(diag(D)) %外 diag 利用一維數組生成對角陣
ans =
1 0 0
0 1 0
0 0 1
>> randsrc(3,20,[-3,-1,1,3],1) %在 [-3,-1,1,3] 上産生 3x20 均布随機數組,随機發生器的狀态設定為 1
ans =
1 至 10 列
-1 -1 -3 1 -3 1 -3 3 3 -3
1 -3 -1 -1 3 -1 -3 -1 3 -3
-3 -3 -1 1 -3 1 3 1 -3 3
11 至 20 列
-3 1 1 3 -1 -1 -1 1 -1 -3
-1 1 3 3 3 3 -3 -3 -3 1
3 -1 -3 1 -3 -1 -3 -1 1 1