MATLABで頻繁に使用される紛らわしい演算は知っている必要があり、知っている必要があります(1)行列演算[逐次]

対数の区別

log()		%自然对数ln
log10()		%常用对数lg
log2()      %底为2对数lb
logN()      %底为N对数
logm()		%对矩阵求对数

インデックスの区別

exp()	%不能写成e^x
exp(1)	%不能写成e

丸め関数

round	%四舍五入取整
fix	    %朝0方向取整
floor	%朝-∞方向取整
ceil	%朝+∞方向取整

剰余関数


mod(-13,5)  %结果为3
rem(-13,5)  %结果为-2

複数

iとjは反復変数と虚数部の両方を表すことができるため、反復変数をiiとjjに変更できます。つまり、1iを使用して複素数を区別します。

配列トラバーサル

x(:)

x(j:end)

x(:,j)

(各要素間の間隔ではなく)ベクトルに必要な要素の数がわかっている場合は、代わりに関数linspaceを使用できます。

linspace(first,last,number_of_elements)

関数linspaceの入力を区切るためのコンマ(、)の使用に注意してください

x = linspace(0,1,5)
x = 
    0    0.250    0.500    0.750    1.000

乱数行列

x = rand(2)
x = 
    0.8147    0.1270
    0.9058    0.9134

rand(2)コマンドの2は、出力が2×2の均一に分布した乱数行列になることを指定します

x = rand(2,3)
x = 
    0.6324    0.2785    0.9575
    0.0975    0.5469    0.9649
rand(m,n)            %生成m行n列的均匀分布的伪随机数
rand(m,n,‘double’)   %生成指定精度的均匀分布的伪随机数,参数还可以是’single’
rand(RandStream,m,n) %用指定的随机种子生成伪随机数

randn(m,n)            %生成m行n列的标准正态分布的伪随机数
randn(m,n,‘double’)   %生成指定精度的标准正态分布的伪随机数
randn(RandStream,m,n) %用指定的随机种子生成标准正态分布的伪随机数

randi(M)              %在(0,M)生成均匀分布的伪随机数
randi(M,m,n)          %在[0,M]生成m×n随机矩阵
x = randi([M,N],m,n)  %在[M,N]生成m×n随机矩阵

 

max関数を使用して、ベクトルの最大値とそれに対応するインデックス値を決定できます。関数maxの最初の出力は、入力ベクトルの最大値です。2つの出力を持つ呼び出しを実行する場合、2番目の出力はインデックス値です。

[xMax,idx] = max(x)

R2009b以降、インデックスが不要な場合は、〜ignore出力で置き換えることができます。

ベクトルの最大値のインデックスを含めるだけでよい場合があります。

density = data(:,2)
[~,ivMax] = max(v2)
densityMax = density(ivMax)

論理配列を配列インデックスとして使用できます。この場合、MATLABはインデックスがtrueである配列要素を抽出します。次の例では、v1で6より大きいすべての要素を抽出します。

v = v1(v1 > 6)
v =
    6.6678
    9.0698

マトリックス転置

B = A.' 	%转置
B = A'  	%共轭转置

固有値と固有ベクトル

E = eig(A)       %求矩阵A的全部特征值,构成向量E。
[X,D] = eig(A)   %求矩阵A的全部特征值,构成对角阵D并产生矩阵X,X各列是相应的特征向量。

次のプレビュー:クイック操作とプログラム構造

おすすめ

転載: blog.csdn.net/weixin_43335260/article/details/108703403