(五)EXCEL中常见的虚数函数及其简单用法 大家经常可以看到一些虚数的乘除法来进行简单的求和,下面我就简单的讲解一下个中原理及一些简单用法。 首先讲解一下虚数的由来,虚数字符i是取英文单词Imaginary(形容词,虚构的,想象的意思)首字母来的。EXCEL中的常见的虚数函数IMDIV,IMSUB,IMREAL也是取首2个字母(IM)加用法单词如 除法Division(DIV),减法Subtract(SUB),求和Summation(SUM)等等结合而成。 虚数最早来源于解方程中出现的问题,如:根号-1,大家知道,在实数范围中,没有数的平方是等于-1的。所以为了扩充数系,让更多的问题得到合理解释,就把i^2=-1变换了形式,变为1*i*i=-1,视为把乘以i定义了数轴上的1逆时针旋转90°,即数轴上的1逆时针旋转90°再旋转90°即为-1,给虚数定义了几何意义,进一步把原来只用一条数轴表示的实数系扩充为二维的复数系。 在此基础上根据(1+1/n)^n取极限为e(EXCEL中的EXP函数),即有e^i表示旋转1弧度(EXCEL中的RADIANS函数),那么e^πi即为旋转180°(到-1点),于是有了欧拉公式e^πi+1=0,在通信行业的傅里叶变换中,欧拉公式能起到很大的简化作用。 在虚数(复数)的基础上(二维)进一步发展就有了更为高级的四元数(空间),四元数在航天领域有着重要作用。 经过了简单的介绍,现在我们就来简单讲解一下虚数: 形如a+bi的数我们就叫复数,其中a(实部),b(虚部)为实数,i^2=-1,b=0就是实数,a=0就是纯虚数,a,b均不为0,我们就叫它为复数或者虚数。 而在EXCEL中,我们主要用到的还是虚数函数中的一个最为基本的特点,就是i^2=-1,其实之前说那么多,只是让大家知道虚数其实并不虚也并不是毫无用处,它仅是一个事物的另一种表现形式罢了。 简单用法一 求值 表格中经常会有类似a-b或a+b这种的字符串,我们可以&"i" 进行一些虚数运算(注意时间类的字符串&i也能被正确识别为虚数)。 (一)a-b型(如:3-38,8:00-13:30) 求a+b,令(a-bi)*(1+i)=a+b+(a-b)i(IMREAL取实部+IMPRODUCT相乘) 求a-b,令(a-bi)*(1-i)=a-b-(a+b)i(IMREAL取实部+IMPRODUCT相乘) 求b-a,令(a-bi)*(i-1)=b-a+(a+b)i(IMREAL取实部+IMPRODUCT相乘) (二)a+b型(如:3+38,8:00+13:30) 求a+b,令(a+bi)*(1-i)=a+b+(b-a)i(IMREAL取实部+IMPRODUCT相乘) 求a-b,令(a+bi)*(1+i)=a-b+(a+b)i(IMREAL取实部+IMPRODUCT相乘) 求b-a,令(a+bi)*(1-i)=a+b+(b-a)i(IMREAL取虚部+IMPRODUCT相乘) 在实际计算过程中,算法很灵活,上述方法只是作为一个参考。 例如:我们在乘以1+i的时候,我们也可以用IMDIV(虚数,"1-i")*2的方法来实现。假设这个虚数是a,那么a*2/(1-i)=a*2*(1+i)/(1-i)/(1+i)=a*2*(1+i)/(1--1)=a*2*(1+i)/2=a*(1+i),毕竟IMDIV比IMPRODUCT看上去稍微简短点。 简单用法二 判断区间 经常可以遇到一些类似于120-310的字符串用来表示整数120到310之间的数,现在我们要判断一个数值在不在这个区间内,也同样可以借助虚数函数来进行一个简洁的判断。 设有一字符串S=a-b,其中b>a,现有一值c,我们需要判断c属不属于区间[a,b]。 令S&i变为虚数d=a-bi,c也变为虚数e=c&-c&i=c-ci。 令f=IMSUB(e,d),记f的实部为g,虚部为h; 若c属于[a,b],则有g>=0,h>=0; 若c<a,则有g<0,h>0; 若c>b,则有g>0,h<0。 于是我们就可以发现,c不在[a,b]区间f必会出现负号"-"。 所以就可以利用FIND("-",f)来进行正确区间的判断,大致结构为(例如返回正确区间,当然也可以判断返回正确数值,灵活应用): =LOOKUP(,0/ISERR(FIND("-",IMSUB(需判断的值(虚数结构),所有区间(虚数结构)))),所有区间)。
|