r语言和matlab的区别 r语言和matlab哪个好 |
您所在的位置:网站首页 › matlab与r语言的区别 › r语言和matlab的区别 r语言和matlab哪个好 |
为何用R 对于算法原型来讲,实际上MATLAB才是数字信号甚至包括CV数据处理的最好工具,不过MATLAB实在太厚重了,而且从正规使用来讲成本相当的高,公司大概是不会拨出这个预算的,个人更不可能了。考虑到一些邮件交互的时候还是要尽量避免版权问题,需要一个免费的数据处理和图形工具,所以R自然就是首选了。 实际上R的官方包一直都在本子里装着,只是平时大都拿来当计算器用(相当好用,秒算极限求导微分积分,用来辅导高中生简直神一般的存在)。不过R的命令行还是不方便做工程化的事情的,所以装了个人版RStudio,方便一边写函数脚本一边调试,还能像MATLAB一样随时看工作变量和图形。 对了,为什么不用Python,因为Python比MATLAB还厚重,哐哐的吃内存,实时绘图也慢一些。某种意义上Python还是更适合“计算”而不是“研究”。 数据说明用的是一个3天线FMCW雷达的ADC信号,每个chirp采样128次。数据存储是二进制浮点格式: ANT_0_float[128] | ANT_1_float[128] | ANT_2_float[128] | ... 即每一帧依次保存每个天线的128个浮点数。 数据可以从这里下载。 https://pan.baidu.com/s/1v3bEQQRT0TPK1uUKJzEOQQ?pwd=qkfk R语言处理语法建议去翻官方的Reference pdf链接,很全面。 读二进制文件比较不方便的是数组没有那么灵活,不能直接写m[...] = ...,需要提前定义。不过考虑到效率问题实际上MATLAB也会疯狂提示你预先定义类型并预分配空间,只是R这里就变成强制了。 readframe iq = rangefft(adc) > iq_mean_rx = apply(iq, c(1,3), mean) > dim(iq_mean_rx) [1] 128 2751 > contour(abs(iq_mean_rx))画出来是下边这样,这个是一个水流测算的雷达数据,因为ADC是实数信号,所以距离FFT做出来是对称的,实际只取一半。横坐标是距离,纵坐标是时间,还是可以看出来水流的发生和结束以及水面的变化。 没法像MATLAB或者matplotlib那样鼠标点击操作,只能通过命令行添加标记辅助线。 当然也可以安装扩展包来扩充绘图功能。 感想挺方便高效的其实。R语言真的是一个很高效的工具,比如说你的表弟表妹拿着一个高三的压轴题问你做的对不对的时候,你说“行,我看看,你先去休息一下。”然后在命令行敲一个'R',两三下把规整的图形画出来,极值积分单调区间一目了然,然后你出去跟他说“这里不对,你再想想”,前后不到3分钟。 当然R能做的更多。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |