MATLAB区间表示,尾数,相对误差

时间:2015-09-17 18:33:12

标签: matlab matlab-figure mantissa

我参加了一个数学分析课程,其中我被分配了工作(这不会影响我的正确性,但是在完成时),这需要MATLAB的知识,但像我一样,超过一半的课程都很少没有经验,我自己有一些但不足以完成这门课程。无论如何,我的问题是如何设置这个有点必须手工编写的代码。这是我目前的代码:

1 bit for sign 
>> A=zeros(2,1);
n=1;
for i=0:1
A(n,i)=i;
n=n+1;
end

>>A
A = 0
    1


2 bits for exponent 
>>A=zeros(4,2);
n=1;
for i=0:1
for j=0:1
A(n,i)=[i,j];
n=n+1;
end 
end

>>A

A = 00
    01
    10 
    00

我知道您使用的内容如下:(-1)^s *f*2^c但并不知道如何实现它。感谢您的帮助,并对非常长的帖子感到抱歉。问题是:

  

假设您的计算机只能在二进制系统中表示实数,使用1位表示数字符号,2位表示指数,3位表示尾数。编写一个Matlab程序,它创建一个可以像这样表示的所有可能数字的列表,并在十进制系统中表示这些数字。使用足够大的符号在实线上绘制这些数字,以便您可以看到它们。根据您的结果回答以下问题:

     
      
  • 关于这些数字在实际行中的分布,您能说些什么?   它们覆盖代表区间的程度如何?

  •   
  • 使用此系统可以表示的最大绝对值数是多少?

  •   
  • 如果最小数字和最大数字之间的间隔上的所有数字都用这个6位数字系统表示,则该区间的哪些部分将以表示中具有最小绝对误差的数字表示,哪些数字具有最小相对错误?举例。

  •   
  • 修改程序以将可用位增加到8并绘制用指数4位表示的数字和用尾数4位表示的数字。改变了什么?

  •   
  • 6位和8位系统中0到1之间的小数字是否很好?如果是,这些系统中的哪一个代表区间[0,1]更好?如果不是,那么如何修改有限精度系统以更好地表示这个时间间隔?

  •   

0 个答案:

没有答案