保存并将fft加载到.mat文件

时间:2014-09-24 11:36:56

标签: matlab file fft complex-numbers mat-file

我有一个FFT,我想将其保存到.mat文件,然后从该.mat文件中读取它。我想将我加载的数据用于分部。这是我的代码

    save ('file_fft','a_fft');
    b = load ('file_fft'); 
    c = abs (d_fft) ./ abs (b);

在我的命令窗口中,我看到了

   b = file_fft [4000 * 1 double]. 

然后我收到错误消息

    'Undefined function 'abs' for input arguments of type 'struct''

删除abs后我试过了。我收到了这个错误

   'Undefined function 'rdivide' for input arguments of type 'struct''

有没有人知道为什么它不起作用以及我如何解决它?

2 个答案:

答案 0 :(得分:2)

检查load功能的documentation

  

S = load(___)使用任何输入参数将数据加载到S   以前的语法组。

     
      
  • 如果filename是MAT文件,则S是结构数组。

  •   
  • 如果filename是ASCII文件,则S是双精度数组   包含文件中的数据。

  •   

因此b是一种结构,并且在评论中建议您需要以abs(b.a_fft)的形式访问数据。

答案 1 :(得分:1)

问题是load()已经创建了.mat文件中的文件结构。当您为file_fft分配加载时,它会创建一个结构。

来自load()的文档:

  

S = load( _ )使用任何输入参数将数据加载到S中   以前的语法组。   如果filename是MAT文件,则S是结构数组。

修改

我受到了抨击:-P

这是代码的另一个工作示例:

save ('file_fft','a_fft');
load ('file_fft'); 
c = abs (d_fft) ./ abs (file_fft);