MATLAB的基本计算

1、理解单精度和双精度特点,使用单精度表示实数8.25和pi,详细描述过程。

2、如何理解单精度中,23位只能描述到小数点后第7位?

3、练习eps、eps(1)、eps(5),比较这些结果的特点

4、在财务系统中,数据准确非常重要,不能有丝毫差错。双精度能够满足财务 数据处理需求吗?如果不能满足,应该怎么办?

5、任意给出一组值,计算x 3 +y3 +z3的值。

6、计算sin(x)在1-5区间上的积分值。

7、计算x/(ex -1)在0到无穷大的积分值

8、计算下面函数f(x)的数值积分,x取值[0,pi],并绘制f(x)的图形。提示: 使用int命令或者integral命令;使用plot命令

MATLAB的基本计算_第1张图片

  1. 单精度和双精度的特点:

前者(单精度)占用4个字节,一共32位,符号位1位(0表示正数),阶码8位,尾数23位

后者(双精度)占用8个字节,一共64位,符号位1位(0表示正数),阶码11位,尾数52位

所以,单精度和双精度表示的数的范围不同。前者的数值范围在-3.40E+38 到 +3.40E+38之间;后者的范围为-1.79E+308到+1.79E+308之间。但单精度的处理速度更快。

MATLAB的基本计算_第2张图片

(图源网络)

8.25在计算机中用单精度表示为0100 0001 0000 0100 0000 0000 0000 0000

首先将8.25用2进制表示为1000.01,科学计数法为1.00001*2^11,又因为符号位为0表示是正数,加上127进行指数的转化为0~255,得3+127(11+111 1111)=1000 0010。

Pi在计算机中用单精度表示为0 1000 0000 1001 0010 0001 1111 1011 011

首先,将其用2进制表示为11.001010000111111011010101000100010000101b.指数位为128,可以知道小数位为10010010000111111011011,即得。

2.

因为单精度类型(float)的数值,转化为2进制,是由后23位来表示。后23位中,10进制最大的是2^23=8388608,这是一个7位的数字,所以只能描述到后7位。

3.

eps=eps(1)

eps其实就是用eps(1)来表示

如图

MATLAB的基本计算_第3张图片

MATLAB的基本计算_第4张图片

4.不能满足要求,double精度太低

可以使用vpa()函数来解决

5.如图

MATLAB的基本计算_第5张图片

6.如图

利用integral()函数来实现数值积分

 MATLAB的基本计算_第6张图片

7.如图

使用到了函数的定义,integral()函数,和exp()函数,还有用Inf来表示无穷

 MATLAB的基本计算_第7张图片

8.

如图

计算积分

MATLAB的基本计算_第8张图片

画图:

MATLAB的基本计算_第9张图片

MATLAB的基本计算_第10张图片

你可能感兴趣的:(matlab,开发语言,安全)