我们通过物理里面的,电阻等于电压除以电流计算电阻,了解向量化编程和非向量化编程的区别

我们首先介绍一个函数mean函数,这个函数是用来计算数组的均值,例如A是一个数组,这个数组里面有很多的元素,我们想要计算这个数组里面的诸多元素平均值,使用mean(A)即可;

题目要求我们分别计算每一组数据的电阻值,最后求电阻的平均值;
(1)上面的是非向量化编程,使用2个循环,第一个循环计算的是每一组数据对应的电阻,第二个循环计算的是电阻的累加值,最后使用电阻的累加值除以数组的长度(也就是数据的个数)得到的是电阻的平均值;
(2)向量化编程的思想就会很简洁,直接利用的是MATLAB很有特色的点运算,求出每组电阻值,最后求的数组的平均值,两行代码就可以完成计算平均值的目的;
在MATLAB里面,我们如果是0/0,无穷除以无穷就会得到NaN,这个并不是报错,也不是空,只是一个非数的值,我们在绘制函数的图像的时候可能会遇到这样的情况,我们可以采取一下的解决方案:下面我们绘制一个函数的图像,观察图像特征:

定义域-2*pi到2*pi,绘制的是sin(x)/x的函数图像,这个时候中间就会有0/0的情况,这种情况下就会出现非数的情况,体现在图像上就是截断函数图像

细心的读者就会发现,这个有一段图象是不完整的,因为是遇到了0/0的情况;

我们打开工作区页面,就会发现在选取的点里面,只有21个是NaN这个就是因为0/0才导致的;
我们只需要在原来的基础上面稍加改动,就可以得到我们想要的函数图像,我们的做法就是使用tt=t+(t==0)*eps,就是在原来的t的基础上面,选取特殊点0乘上eps,就可以让这个点在附近的点取值,换言之就是在0附近找一个点代替0,eps就是一个非常小的数,利用它就可以找到十分接近0的一个点代替0,这样就不会出现截断的现象了;
下面就是eps的具体数值,就是一个非常小的数值,但是不会出现0/0的情况了;


逻辑运算符有与&,或|,非~,异或xor;前面的我们经常使用,这里不做介绍,我们介绍一下xor,就是异或的用法,异或运算的规则就是全是0或者全是非0,结果就是0,否则就是1:

通过这个案例,我们也是可以发现,1,2,5列都是非0的数字进行运算,结果就是0,第4列是两个0进行运算,结果就是0,第三列一个0一个非0进行运算,结果就是1;
求两个函数的极限f1(x)=(1-cos2x)/((sinx)*2x);f2(x)=sin(x)/x;求两个函数x趋近于0时候的极限

我们在数学里面这个趋近于就是不断的靠近,我们在MATLAB如何表示这个区锦的过程呢?我们需要生成一串数据,来表示这个趋近的过程,我们这里选择的是logspace函数

(1)这个文档或许可以让你对于这个函数的用法有些了解,但是我们需要知道的是,他生成的是以10为底数的很大的数值,我们给他乘上eps就可以生成15个不断趋近于0的数字,这样就表示了这个极限的趋近过程
(2)我们在列举这两个函数的时候,一定要知道这是使用乘号还是点乘,向量和数字之间的运算两者都是可以的,但是向量和向量之间的运算就必须使用点乘符号;
(3)disp这个函数就是显示变量的值,基本的用法就是disp(),我们在括号的里面使用了中括号是因为我们要写的是3个行向量,经过转置以后就变成了列向量,这样方便我们观察函数极限的趋近过程;
(4)如果只是这样写,我们还是无法观察到自己想要的结果的(读者可以自行尝试),因为MATLAB的默认精度是4位小数,我们的数据因为精度比较高,在MATLAB里面就会全部显示0,无法观察这个趋近的过程,我们的做法就是加上format long这样就可以提高精度,是我们可以得到自己想要的结果,我们通过观察打印的结果就可以看到无限趋近的时候,函数的极限,还是很直观的