matlab隨筆
阿新 • • 發佈:2018-12-18
文章出處: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軸的表示量的名字了
- 圖形化介面的繪圖可以通過“拖變數到功能區上的繪圖的一個具體圖表上”來實現