реклама на сайте
подробности

 
 
> Преобразование формата при записи в файл в матлабе?
Alex65111
сообщение Sep 8 2008, 09:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729



В матлабе необходимо сохранить результат вычислений в файле в другом формате. Делаю так

fwrite(fid,x,'double=>int32')

но матлаб матерится. Как правильно должно быть?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex65111
сообщение Sep 8 2008, 12:18
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729



Как Вы предложили уже попробовал, в принципе получилось, но что-то округление слишком сумашедшее получилось.

При проектировании фильтров с фиксированной разрядностью, при разрядности в 32бита получается характеристика ничем не хуже чем при double, а здесь при сохранении массива, представленного в double в формате int32 (или int64) почему то происходит очень сильное искажение (загрубление).
Go to the top of the page
 
+Quote Post
sheh
сообщение Sep 8 2008, 12:30
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 122
Регистрация: 13-09-06
Пользователь №: 20 353



Цитата(Alex65111 @ Sep 8 2008, 16:18) *
Как Вы предложили уже попробовал, в принципе получилось, но что-то округление слишком сумашедшее получилось.

При проектировании фильтров с фиксированной разрядностью, при разрядности в 32бита получается характеристика ничем не хуже чем при double, а здесь при сохранении массива, представленного в double в формате int32 (или int64) почему то происходит очень сильное искажение (загрубление).


Вам нужно пронормировать массив "Х".
Для этого Вам нужно домножить его на соответствующюю степень двойки.
Например если хотите точность 8 бит после запятой, то fwrite(fid,x*2.^8,'int32').
Коэффициент нормировки зависит от степени точности которую хотите достич.

Немое конешно дело, но зачем Вам бинарник писать?
можно воспользоваться функцией "dlmwrite('Имя файла',X)", внекоторых случаях удобнее, и никакого fopen ненадо.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 13:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016