Double becomes int32 --why??

13 次查看(过去 30 天)
ANJ
ANJ 2012-6-18
My goal is to write a file that has a column of double precision numbers for each subject. Here's what I have:
TadvDiff(1,qq) = currsubj; %Heading that displays subject ID number
TadvDiff(2:(timepoints+1),qq) = TminusC;
currsubj and TminusC are both double-precision. Somehow, TadvDiff is int32.
After looping through each subject, I write TadvDiff to a file:
dlmwrite('TadvDiffN108.txt',TadvDiff,'delimiter','\t','precision', '%.4f');
which ends up being all 1s and 0s when I need decimals. Why did my doubles become ints, and how can I correct this?
Thanks!
  5 个评论
Walter Roberson
Walter Roberson 2012-6-18
Somehow, the very first time you write into TadvDiff, you must be storing int32. That very first write determines the datatype after that.
Can you reasonably pre-allocate your TadvDiff array? e.g.,
TadvDiff = zeros(timepoints+1, 17);
ANJ
ANJ 2012-6-18
Great, that did the trick! Thanks so much!

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by