前言
Matlab冲冲冲!
C++
- 函数声明可以有多次,但是定义只能有一次
- cin方法
- 声明数组的时候数组大小不能用变量
- 数组的初值用部分初始化a[3]={1},其他的数组元素默认为0
- 数组的{}初始化只能在声明中进行
- 二位数组的初始化 a[2][2]={{1,2},{3,4}} 相当于 {1,2,3,4} 部分初始化{}代表行
- 二位数组声明时第一个维度可以被省略
- 向量
- 字符串替换strcpy(dst,src)
- 字符串拼接strcat(ch1,cha2)
- strcmp(str1,str2) =为0 >为1 <为-1
- 局部变量和全局变量同名时局部变量优先
- 少量多变变量放在寄存器中
- static 变量仅初始化一次
- 扩展调用声明 extern 后可加声明or直接使用外部函数
Matlab
特殊矩阵
- 调用格式 f(m), f(m,n), f(size(A)),
- zeros函数 产生全0矩阵
- ones 函数 产生全1矩阵
- eye 函数 产生对角线为1的矩阵 方阵时为单位矩阵
- rand 函数 产生(0 , 1)区间均匀分布的随机矩阵
- randn 函数 产生μ=0, σ^2=1 的正太分布随机矩阵
- magic(n) 魔法矩阵 vander(V)范德蒙矩阵 希尔伯特矩阵 hilb(n)
- compan() 伴随矩阵 pascal(n) 帕斯卡矩阵
矩阵变换
- diag(A) = diag(A,0) 提取对角元素,产生一个列向量
- diag(V), diag(V,5)
- triu(A) = triu(A,0) 提取上三角矩阵元素
- tril (A) = tril(A,0) 提取下三角矩阵元素 (注意,提取后是返回和原来矩阵相同大小的矩阵)
- .’ 矩阵转置。’ 共轭转置。
- rot90(A) = rot90(A,1) 将矩阵A逆时针方向旋转90°的k倍
- fliplr(A) 左右翻转 flipud(A) 上下翻转
矩阵求值
- det(A) 求行列式值
- rank(A) 求矩阵A的秩
- trace(A) 求矩阵A的迹
- norm(V,k) 计算向量的k-范数 k=inf计算无穷范数
有关范数我的理解是是一个描绘向量/矩阵性能的量,简单介绍 - cond(A,K) k-范数下的条件数
- E = eig(A) 求矩阵特征值并构成向量E
- [X,D] = eig(A) 求矩阵A的全部特征值,构成对角矩阵D,并产生矩阵X, X各列是相应的特征向量
- eigshow 显示单位圆上向量x和Ax的关系
稀疏矩阵
- 用来存储很多0的矩阵,节省空间
- A = sparse(S) 将矩阵S转化为稀疏存储方式的矩阵A
- S = full(A) 将矩阵A转化为完全存储方式
- whos命令可以显示工作区的成员的特性
- sparse(m,n)或sparse(u,v,S)可以直接建立稀疏存储矩阵
- spconver(A) 直接建立m×4或m×3的矩阵A
从第一列到第四列分别为 行 列 实部 虚部 - 类似的还有带状稀疏矩阵spdiags(A),单位稀疏矩阵speye(m,n),暂时略过
玩累了
要连轴转了😆 😊 😃 🤣 😋 😍 😅 😎 😜