MATLAB R2017a的Coder工具使用实例-m语言转C++在linux Qt下运行(之二)

续MATLAB R2017a的Coder工具使用实例-m语言转C++在linux Qt下运行(之一)

MATLAB R2017a的Coder工具使用实例-m语言转C++在linux Qt下运行(之一)

linux环境及Qt
系统版本
Qtcreator版本
新建Qt工程TeatMfileFun
Qt工程
添加之前生成的所有cpp和.h文件。有很多是不需要的,先粗暴的添加,后续再斟酌删除。
编译通过,没有错误,没有警告。少有的放心。

这里写图片描述
简单的main函数,手动输入函数参数,打印计算结果。

#include <QCoreApplication>
#include "fftAna.h"
#include <stdio.h>
#include<iostream>
using namespace std;
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    double Fss,L1,frq1,frq2;
    double ff[2];
    cout<<"input Fss(采样率): "<<std::endl;
    std::cin >> Fss;
    std::cout <<"input L1(数据长度):"<<std::endl;
    std::cin >> L1;
    std::cout <<"input frq1(信号1主频):"<<std::endl;
    std::cin >> frq1;
    std::cout <<"input frq2(信号2主频):"<<std::endl;
    std::cin >> frq2;

    fftAna(Fss,L1,frq1,frq2,ff);
    std::cout<<"maxValue is "<< ff[0]<<"  Main freq is:" << ff[1] <<"Hz"<<std::endl;
    return a.exec();
}

迫不及待要测试一下效果。
这里写图片描述
换个高采样率参数,再试一下,采样率5000000,采样点数1500000,第一频率50kHz,第二频率100kHz。
这里写图片描述
计算结果还是很准的,不过还是没搞懂,在数据量大了之后为什么在MATLAB下直接执行反而比转成c++之后更快。不是matlab的执行效率会更低吗?从执行效果来看和我们自己写的fft变换耗时比较接近,但是代码bug少了,更重要的是可以把主要精力花在研究算法上而不是无休止的编码。感谢MATLAB!

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值