序言
参与建模,已经一年有余,作为一名数学专业的学生,用到MATLAB的地方也是十分的多,按理来说,我应该已经对MATLAB的入门知识了如指掌,但重读时,却惊讶的发现,有些常用的技巧或简单函数,已经被我遗忘在了角落里。
复数的相关知识
复数?多么简单,可是用时却常常出现问题。
复数的定义问题
如复数的定义,x=3+4j,或者x=3+4i,或者x=3+i*4均可,这是几种常用的定义复数的方式,i,j已经被预定义了相应的值——根号负一。
但由于额,我的习惯吧,C++老手的我,一直喜欢用i,j作为循环变量,导致有时候可能会将之前的值覆盖掉,当i被覆盖掉的时候,憨批的我还天真的以为只能用j来进行定义,是在憨批。——憨憨敬礼。
跟复数有关的几个函数
imag(x)——取虚部函数
之前有见某资料里说,是image,实际上是这个imag才对,可能由于版本的变化,而导致了不同,说明一下,我是2018b的版本。
之后,关于取实部的函数很简单的real即可,但是取虚部的函数,总是忘记——imag(我老是减去实部,然后abs处理,是在憨批,直接拿来用不香吗,之前忘记,由于简单的处理可以得到值,就没有查找,然后,,,,我就一直不知道这个函数)
conj(x)——取共轭函数
这个函数很简单,共轭嘛。我依旧是使用了减去实部,然后取相反数,然后加上实部的方法代替。——憨憨敬礼
angle(x)——取幅角函数
憨憨敬礼,再也不用用atan(虚部/实部)来计算幅角了。
注:这种方法来计算z=x+y·i中,当x在正半轴,时的情况,其余x<0的情形,要考虑在这个基础上加减π,在x轴负半轴,与在y轴上的情况,要单独考虑。(x轴负半轴——为π,y轴正半轴——为π/2, y轴负半轴——为-π/2)
demo——实例演示窗口
习惯了用help查找,忘记了使用demo来学习。
linspace(a,b,c)——等分函数
生成区间a到b上,等分的五个值。
之前习惯了用冒号,都忘记了这种写法。
zeros(x)——生成零方阵
常用的是行列都显示的情况,当行列相等时,可以直接缺省。
ones(x,y)——生成全是1的矩阵
eye(x,y)——生成主对角线元素全是1,其余元素全是0的矩阵
老是忘记的几个函数,我一般都循环生成了,不如直接生成来的舒服。
左除与右除问题
/——右除(右躺运算)
\——左除(左躺运算)
Ax=B
x=B/A
x=A\B
不好记忆,我的想法是,躺在被除的身上,或者干脆只用右除一种(大部分情况都可以吧,不可以的我暂时没有遇到过,了解只是为了看别人代码方便)。
~= ——这是MATLAB里面的不等于符号
!=在MATLAB里面不能使用。
~——这是MATLAB里面的非符号
我之前甚少用,习惯直接改逻辑判别值,但是这个符号显然会更灵活方便。
训练代码(可以不看)
我没在CSDN里面找到MATLAB的代码类型,选的C++的排版方式,可以直接复制到自己的MATLAB里面查看。
clear
clc
x=3-4j;
imag(x)
x=3-4*sqrt(-1);
conj(x)
angle(x)
linspace(1,5,5)
zeros(3)
eye(3,4)
ones(3)
3~=4