天天看點

Matlab常用指令及操作指令基本操作資料處理資料類型

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)
           

基本操作

注釋

  1. 快捷鍵 Ctrl +R Ctrl+T
  2. 直接在代碼前面輸入 %
  3. %{ %}
  4. if 0 end
  5. 注釋指令按鈕
    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
           
  1. 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
           

使用函數生成矩陣

Matlab常用指令及操作指令基本操作資料處理資料類型
>> 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
           

繼續閱讀