登录论坛

查看完整版本 : [MATLAB基础] fread(fid,[M,N], precision); M/N必须是常量吗?


hing
2009-05-04, 10:04
fread(fid,[M,N], precision); M/N的值我从文件头读出来赋给int16,但用fread时报错,说fread不支持int16...
请问遇到上述情况该如何处理?

laosam280
2009-05-04, 12:40
那就多写两句话,把M、N单独赋值就可以噻

hing
2009-05-04, 22:12
多谢laosam280.
问题是:

Fft = fread(FileHand,1,'bit16=>short');
BinNum = fread(FileHand,1,'bit16=>short');
DspToDpDat = fread(FileHand,[Fft,BinNum],'float32');

Fft和BinNum分别为68和15,运行报错为:
‘Function 'fread' is not defined for values of class 'int16'.’

如直接给两者分别赋值为68和15,运行无问题。

请问,fread(fid,[M,N], precision); M/N必须是常量吗?