2010-12-16 1 views
1

Пожалуйста, кто-нибудь знает, как создать свои собственные числовые типы данных в Matlab? Я хотел бы сделать числовой тип данных с шестью частями данных, один для знака, другой для mantisa, для экспоненты, для количества бит для части данных знака (всегда один бит), для количества бит для хранения данных мантиссы и для количества бит для сохранения экспоненты. Итак, вы можете подсчитать количество бит для хранения числовой части данных, посвященной экспоненте или мантисе. С этим типом данных, если бы можно было моделировать все типы данных IEEE 754 и независимо от того, какой тип данных не является стандартным. Кстати, этот вопрос связан с "Development of a specific hardware architecture for a particular algorithm"Matlab: Создание настраиваемых числовых типов данных

Большое вам спасибо!

+0

Есть ли причина, почему типы данных в Matlab недостаточны для того, что вы хотите сделать? Если вы можете дать нам больше информации о том, почему вы хотите это сделать, мы можем предложить встроенный тип данных Matlab. Но насколько я знаю, нет никакого способа сделать что-то подобное без использования расширений C-mex. – JudoWill 2010-12-16 16:51:12

+0

@JudoWill: Я хочу моделировать цифровые архитектуры с различными форматами для представления с плавающей запятой, чтобы измерить ошибку, которую я получаю от каждого из них, чтобы сравнить их числовую точность. – Peterstone 2010-12-16 17:54:21

ответ

1

Некоторые очевидные решения:

  1. Просто использовать массив с 6 членов представлять каждый номер одного из пользовательских типов.
  2. Используйте структуру, чтобы вы могли ссылаться на части номера по имени.
  3. Использование объектно-ориентированных программных средств Matlab.

Последний из этих вариантов, вероятно, лучший, позволяющий определять операции над вашими пользовательскими типами, которые уважают правила для типов.

0

Я думаю, что решение будет использовать с фиксированной точкой инструментов:

Набор инструментов позволяет создавать следующие типы объектов:

* fi — Defines a fixed-point numeric object in the MATLAB workspace. Each fi object is composed of value data, a fimath object, and a numerictype object. 
* fimath — Governs how overloaded arithmetic operators work with fi objects 
* fipref — Defines the display, logging, and data type override preferences of fi objects 
* numerictype — Defines the data type and scaling attributes of fi objects 
* quantizer — Quantizes data sets 

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

  • Нет связанных вопросов^_^