(筆記)學習MATLAB中碰到的函數

函數名 作用
x = logspace(a,b,n) 創建一維數組
第一個元素爲10a,第二個元素爲10b,形成數量爲n的等比數列
x = linspace(a,b,n) 創建行向量,第一個元素爲a,第二個元素爲b,n把a至b之間的區間分成向量的首尾之外的其他n-2個元素,省略n的話默認爲100
c = complex(a,b) a與b爲相同長度的數組,c生成分別以a爲實部,以b爲虛部的虛數數組
a = ones(n)
a = ones(n,m)

a = ones(n.m.q)
只有n的話默認爲 n * n 的矩陣
有 n 和 m 生成一個 n * m 的矩陣
大於兩個數則有幾個數生成幾維的矩陣
默認初始化爲 1
a = eye(n) 創建一個n*n的單位矩陣
a = zeros(n) 生成矩陣的規則與ones相同。不過生成的是0
a = rand(n) 生成矩陣的規則與ones相同。不過生成的是隨機數
a = randn(n) 生成矩陣的規則與rand()相同。不過randn產生的數值服從正態分佈
產生一個隨機分佈的指定均值和方差的矩陣:將randn產生的結果乘以標準差,然後加上期望均值即可。
例如,產生均值爲1.6,方差爲0.1的一個6*6的隨機數方式如下:
x = 1.6 + sqrt(0.1) * randn(6)
strcat( a , b) 連接兩個字符串
r = roots ( p) 求多項式的根,p爲多項式的係數,根用列向量表示
y = polyval(P,x) 求多項式在某一點的值
x = [1 2 3]
w = conv( u,v) 多項式的乘積,w爲結果多項式的係數
[q,r] =deconv(u , v) 多項式的除法,q爲商,r爲餘數
k = polyder (p ) 計算多項式p的導數
k = polyder(a,b) 計算多項式a與b乘積的導數
[q,d] = polyder(a ,b) 計算多項式a,b商的導數
p = polyfit(x,y,n) 擬合函數
通過x與y的圖像確定是n階擬合,p爲多項式係數
plot(x,y) 由數組x與y生成一個折線圖
hold on 保持上個圖不消失,下個圖在同一個座標系顯示
C = cat(dim, A1, A2, A3, …) 連接數組,dim爲連接方式
1爲按列連接(列數不變)
2爲按行連接(行數不變)
3爲增加維度(行數,列數不變)
sqrtm(a) 矩陣開方,a必須是n*n的矩陣
a = sparse(m,n)
a = sparse(A)
生成一個mxn的所有元素都是0的稀疏陣
a = nnz(b) 求矩陣b中的非零元素個數
spy(b) 生成一個圖,標註非零元素的位置
a = nonzero(b) 按列尋找非零元素
speye(m,n) 生成m*n的單位稀疏矩陣
sprand(A) 生成和A相同結構的隨機係數矩陣
sprand(m,n,dens) 生成m*n的隨機係數矩陣,0< dens < 1爲稀疏程度
sprand(A) 生成和A相同結構的正態分佈矩陣
sprandn(A)
eig()
s=sparse(A) 將A轉化成稀疏矩陣
B=full(s) 將係數矩陣s轉化成正常矩陣
r = rank(A) 求矩陣的秩
r = inv(A) 求逆函數
inv(A)*B等於A\B
yi = interp1(x , y , xi , ‘method’) x,y爲原已知數據的x , y值, xi 是要內插的點 , method是插值方法
nearest爲尋找最近數據節點,執行速度最快,輸出結果爲直角轉折
linear爲線性插值,爲默認值,在點上斜率變化很大
spline爲樣條插值,在數據節點處光滑,即左導等於右導,最花時間,但輸出最平滑
cubic爲三次方程式插值,最佔內存,輸出結果與spline差不多
interp2()
axis()
meshgrid()
peaks()
sym(A) 或 sym(A ,flag) 將一個數值常量A定義成一個符號常量
flag爲可選參數,有四種形式,分別是 'r ’ 'd ’ 'e ’ 'f '
r : 用有理數格式表達符號量
figure()
subplot() 使圖像在同一個窗口排列在這裏插入圖片描述
mesh()
diff()
solve()
y = subs(f1,x,xx) 在f1中用xx代替x,如果xx爲數或數組,則返回相應的f1值
residue() [r,p,k] =residue(b,a),求多項式之比b(x)/a(x)的部分分式展開,其中r是部分分式的留數,p是部分分式的極點,k是直接項。[b,a] = residue(r,p,k),從部分分式得到多項式向量。在這裏插入圖片描述
xlabel(‘text’,‘property1’,‘value1’,‘property1’,‘value1’,‘property1’,…)
gird on 加網格
gird off 去掉網格
legend(‘string1’,'string2"…) 按順序給每條曲線取一個名字
legend off 撤銷之前設置的圖例
text(X0,Y0,‘string’) 在X0,Y0座標添加文本表標註string
gtest(‘string’) 用鼠標拖動來確定標註文字string的位置
axis auto 使用默認設置
axis equal 縱軸橫軸採用等長刻度
axis on/off 顯示或取消座標軸
xlilm([xmin xmax]) 設置x軸範圍
ylilm([ymin ymax]) 設置y軸範圍
semilogx(…) 在x軸上採用對數來進行標定
loglog(…) 採用常用對數來進行標定
box on (off) 對所繪製的圖形添加(關閉)圖形邊框
plotyy(x,y,x,f) 雙縱座標曲線
contour(z) 繪製由數組z構成的二維等值線圖,x軸爲z的列下標值,y軸爲z的行下標值
contour(x,y,z) 繪製以x爲橫座標,y爲縱座標,由數組z構成的二位等值線圖。 當爲向量時,x元素的個數等於z的列數,y元素的個數等於z的列數,爲矩陣時,維度應與z相當
nargin/nargout 當調用一個函數時,所用的輸入變量和輸出變量的數目
varargin/varargout 允許變成這傳遞貨返回可變數目的變量。
fhandle = @functionname fhandle(arg1,arg2,arg3,…,argN)將一些函數寫在一塊,按數組的方式調用函數
strcmp(表達式,檢測值)
fid = fopen(‘filename’)
fid = fopen(‘filename’,‘permission’)
filename爲文件名字,permission是打開的方式,常用的有r,w,a,分別是隻讀,寫入,追加
load(‘filename’)
load(‘filename’,‘variables’)
裝載磁盤上的二進制/ASCII文件中的變量到工作空間中
dlmwrite(‘filename’,A,precision,delimiter) 向文件中寫入ASCII數據,將矩陣A中的元素寫入filename指定的文件中,將其轉化爲precision指定的精度,delimiter可使用’\t’等等
save(filename,variables,fmt,version) 將工作空間中的變量保存到硬盤上,用save命令所形成的文件可以是雙精度格式MAT文件,也可以爲ASCII文件
wqueeze(S) 將三維數組的維數爲1的維度去掉
a=mean(x) 求數組的平均值
a=length(x) 求數組的長度
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章