2015-10-09 2 views
1

Рассмотрим нормированную систему с плавающей запятой базы 3, точность = 3 и -1 < = e < = 1. Поскольку слишком много точек для рисования вручную, как я могу построить график числа в системе на базе 10 действительной оси с числами, которые могут быть точно выражены с помощью MATLAB? Спасибо.Как построить систему с плавающей запятой с помощью matlab

+0

Что вы подразумеваете под R3 (3,1)? –

+0

Извините за неспецифичность, я имею в виду base = 3 и точность = 3. – kevin1112

ответ

0

Это решение также включает поднормальное значение. Я не уверен, если вы хотите включить их.

close all 
figure 
hold on 

base = 3; 
prec = 3; 

maxval = base^prec - 1; 
mantissas = (-maxval: maxval)/(maxval + 1) 

for expo = -prec: prec 
    nums = mantissas * base^expo; 
    plot(nums, 0, 'b.') 
end 

Кроме того, это не может квалифицироваться как точным. MATLAB в конечном итоге преобразует все значения с плавающей запятой в двоичную систему. Затем он отображается на экране с дискретизированными позициями пикселей. Я не думаю, что что-то может преодолеть эти ограничения.

EDIT

После тестирования с основанием 10, я нашел ошибку совсем по-одному. mantissas следует разделить на (maxval + 1) вместо maxval.

Смежные вопросы