1. 程式人生 > >matlab隨筆

matlab隨筆

    文章出處:matlab官網教程——MATLAB Onramp

  • 基本運算
    • 圓周率的表示方法:pi
    • 清空命令列:clc
    • 清空已經定義的變數:clear
    • 三角運算:y=sin(x)
    • 開方運算:z=sqrt(9)
    • 平方運算:x=pi^2
  • 陣列運算/向量運算
    • 2x3的陣列表示:z=[1 2 3;4 5 6]
  • 均勻間隔向量
    • x=[1 2 3] 相當於: x=1:3
    • x=[1 4 8 12 16] 相當於: x=1:4:16
    • x=linspace(1,10,5) 表示這個間隔向量:“開始數字為1,結束數字為5,總共五個數字”
    • x=x' 表示:將向量/陣列x進行轉置並賦值給x
  • 陣列隨機數/向量隨機數
    • x=rand(5) 表示:產生一個5x5的陣列,每個隨機數字的範圍是0到1
    • x=rand(2,3) 表示:產生一個2x3的陣列,每個隨機數字的範圍是0到1
    • x=zeros(2,3) 表示:產生一個2x3的陣列,每個數字都是0
    • x=randi(10,7,3) 表示:產生一個7x3的陣列,它的每個數字取值範圍是1~10
  • 檔案操作
    • save datafile data 表示:將變數data儲存在檔案datafile.mat中
    • load datafile 表示:將datafile.mat中的資料重新載入到matlab的工作區
    • 載入檔案中的資料的另一種形式:在當前資料夾工作區選中檔案,右鍵,選擇匯入資料
  • 提取陣列/向量中的數值
    • y=x(6,3) 表示:提取陣列x的(6,3)位置的數值。有趣的是,這裡的6和3都是從1而不是0開始數的
    • y=x(end,3) 表示:提取陣列x的(end,3)位置的數值。注意,這裡的3是從1而不是0開始數的,即最後一排的第三個數值
    • y=x(:,2) 表示:提取陣列x的第二列的所有數值。當然了,matlab這門程式語言的2就是普通人眼裡的2了。
    • y=x(end-1:end,:) 表示:不解釋了,寫這裡就是想說這種寫法沒毛病的
    • m=n(3) 表示:這裡的n是一個行向量或列向量,m就是提取它的第3個元素
    • m=n(3:end) 表示:這裡的n是一個行向量或列向量,m就是提取它的第3到最後一個元素
  • 給陣列/向量賦值
    • x(1)=0.5、x(2,3)=1 類似這種就ok
    • y=x+1 表示:向量x的每個數值都+1,之後將結果賦值給y。這種處理方式叫“廣播”
  • 進行陣列/向量運算
    • z=y+x 表示:向量x與向量y的每個數值都相加並賦值給向量z
    • m=max(z) 表示:將向量z中最大的那個值賦值給m
    • n=round(z) 表示:將z中的每個數值進行四捨五入,之後賦值給n。這種處理方式叫“廣播”
    • p=sqrt(z) 表示:將z中的每個數值進行開方,並賦值給p。這種處理方式叫“廣播”
    • 前面的很好理解,但兩個相等大小的向量的乘法不大常規:mass=a.*b 注意有個點(.)表示方法呼叫
  • 陣列/向量的若干方法
    • y=size(x) 表示:提取x的各個維度的大小,賦值給y。比如x是3x4的陣列,則y=[3 4]
    • [dr dc]=size(x) 表示:提取x的各個維度的大小,並按照相應位置賦值給dr、dc。比如x是3x4的陣列,則y=[3 4]
    • [vMax,ivMax]=max(v) 表示:提取向量v的最大值賦值給vMax,並將此最大值的位置索引賦值給ivMax
  • matlab中獲取幫助的途徑
    • matlab最上方的工具欄右側有“幫助”,點選它將進入幫助頁面,可進行一些命令的搜尋和檢視
    • 在命令列敲入"doc randi",即可獲取關於randi命令的詳細文件,賊爽的
  • plot函式與向量
    • plot(x,y) 其中x、y均為一維向量(一般列向量),它將繪製經過以x為橫座標、y為縱座標的相應若干點的曲線
    • plot(x,y,'r--*') 表示:繪圖參上,且r表示紅色,線段是--連起來的,且點用*顯示出來
    • hold on 表示:在繪製後面圖形時,前面的線依然保留
    • close all 表示:關閉繪圖框
    • plot(x) 表示:它等同於plot(m,x),其中m是[1 2 3...]
    • plot(x,'LineWidth',3) 表示:參上繪製曲線,且曲線寬度為3
    • plot(sample,v1,'ro-','LineWidth',4) 表示:r為紅色,o表示節點以圓圈顯示,後面是線條寬度
  • plot函式的註釋
    • title('My Line') 表示:將已經存在的圖上方寫上'My Line'這行字,也就是名字了
    • ylabel('trend') 表示:將y軸標識為'trend',也就是y軸的表示量的名字了
  • 圖形化介面的繪圖可以通過“拖變數到功能區上的繪圖的一個具體圖表上”來實現
  •