Matlab持续学习

时间: 2024-11-10 admin IT培训

Matlab持续学习

Matlab持续学习

1.matlab中矩阵A(:)是什么意思

A(:) reshapes all elements of A into a single column vector. This has no effect if A is already a column vector.
A(:) 重塑将 a 的所有元素转换为单个列向量。如果 a 已经是列向量, 则不会产生任何影响。

2.matlab乘与点乘的区别 (与. ^与.^)

1.点乘是数组的运算,不加点是矩阵的运算;
2.点乘要求参与运算的两个量两必须是维数相同,是对应元素的相乘;而不加点表示的是矩阵相乘(除的时候通过逆矩阵来实现),要求内维相同,也就是前一个矩阵的列的维数等于后一个矩阵的行的维数。
例如A,B分别为两个矩阵,则:
A.*B表示的是两个矩阵的对应元素相乘,
其中生成的同阶矩阵C的对应的矩阵元素为:C(i,j)=A(i,j)*B(i,j);
而如果A*B的话,则是正常的矩阵相乘,并非是对应的元素相乘。这一点相当重要。
举个简单的例子
例如:
x=[1 1;1 1];x.^2
ans =
1 1
1 1x^2
ans =
2 2
2 2

3.matlab find函数详解

这个函数是为了找到矩阵或者是数组,向量中的非零元素。下面一大段英文没耐心看。看看例子就行了。第一个用法是ndices = find(X)X = [1 0 4 -3 0 0 0 8 6];indices = find(X)返回x中非零元素的序号从1开始indices =1     3     4    8     9若x是个矩阵呢?x= [1  0 ;1  5 ;4 0 ]find(x)得到的是1235是一列矢量,非零元素的序号是按一列一列的算第二个用法ind = find(X, k)
ind = find(X, k, 'first')
ind = find(X, k, 'last')这三个是找前K个非零元素,前两式功能一致,第三式指从最后一个元素算起。重点说一下第三个用法[row,col] = find(X, ...)
[row,col,v] = find(X, ...)