matlab将工作区中的变量保存成十六进制写入硬盘文件 40

比如下面代码,我想把x变量的2048个值以16进制的形式保存到文件test.dat中t=0:1/44100:2047/44100;x=12288*sin(2*pi*500... 比如下面代码,我想把x变量的2048个值以16进制的形式保存到文件test.dat中
t=0:1/44100:2047/44100;
x=12288*sin(2*pi*5000*t)+12288;
save D:\Modelsim_files\MyHBF\test.dat x
可是运行不太正确,文件里貌似并不是以16进制保存的,如下所示,有人回答吗

1.2288000000000000e+004 2.0319882663913802e+004 2.4445199468845974e+004 2.2657469187171329e+004 1.5826212250859753e+004 7.2740313718789330e+003 1.1605562708879261e+003 4.5927325347825172e+002 5.5112739924161224e+003 1.3859354562779212e+004 2.1443156028955655e+004 2.4574051311995667e+004
展开
 我来答
my__dream258
2012-12-19 · 超过16用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:45.7万
展开全部
t=0:1/44100:2047/44100;
x=12288*sin(2*pi*5000*t)+12288;
k=length(x);
for i=1:k
if x(i)<0
x(i)=x(i)+256;
else
end
x(i)=floor(x(i));
end
x=dec2hex(x);
save C:\Users\Li\Documents\MATLAB\test.dat x

负数和小数都不能化成十六进制的,需处理。
追问
首先谢谢你的回答!
为什么保存的文件用记事本打开时乱码呢?怎样保存才能打开之后看到x相应的数值?
追答
最后一行改成这样
dlmwrite('C:\Users\Li\Documents\MATLAB\test1.dat',x,'');
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式