0.前言

时隔一年,又是一年圣诞时。仔细想想,距离上次更新已经过去了很久很久,打工人实在时间精力有限,疏于更新了,感谢还没取关的朋友们…

去年差不多这个时候的一篇关于Matlab画圣诞树的推送最近受到了大家的喜爱,阅读量达到了平均阅读的10倍+,对于懒惰的我来说,实在是受宠若惊!

先回顾一下去年干了个啥,其实就是用Matlab画了一张Bling Bling的圣诞树,带点旋转的特效,撒了点小雪花…
在这里插入图片描述

搞气氛!MATLAB画一棵精致的圣诞树

1. 这次想干啥

这篇推送的目的是啥呢?先看视频!

接着奏乐接着舞!MATLAB制作圣诞树和圣诞快乐歌

用Matlab实现了圣诞树+圣诞快乐歌!惊不惊喜意不意外!

在这里插入图片描述
还是那句话,Matlab除了生孩子不会,其他都会!!

2.主要更新

这次的主要更新是在之前画圣诞树的基础上,播放圣诞快乐的背景音乐。

Matlab播放音乐是由sound(Y,fs,bits)函数完成的,该函数的3个参数代表输入信号、采样率、比特率。先说采样率fs的设置,人耳能够听到的声音范围是20~20000Hz。根据采样定理fs只需要大于40000即可。输入信号Y,Y一般是一个正弦波,如Asin(2piwt)。其中A控制着声音的大小,w控制着声音的高低,t的范围控制着声音的长短,所以理论上利用这个公式可以发出任何声音,只是不能控制音色和音质(音色音质很难用参数量化,比特率采用默认值即可,该参数省略。

https://blog.csdn.net/bat67/article/details/68928562

https://github.com/yuriecyx/merrychristmas

2.一些Tips

之前的分享给大家的代码里面,拿到代码去运行的同学中大概有10%的选手,碰到了这样或者那样的问题,运行失败了。这次的更新呢,在加入了圣诞快乐歌的同时呢,尽量规避了可能出现的报错情况。

之前最主要的错误:

tree (line 50) first input argument must be string of names separated by commas

为什么会出现这个问题呢?因为首先Matlab自带有一个tree函数,然后之前分享的代码里面呢也需要用到一个tree函数,但是tree函数是写在christmas.m脚本里面的。还有的报错是因为Matlab版本不支持脚本里面自定义函数,这次的更新中,将两个主要的子函数已函数脚本的形式存放在了文件夹中,这样Matlab在运行过程中会首先去寻找当前工作目录下的函数,这样就不会用到自带的tree函数了。

如何获取代码?
关注作者公众号 海洋纪 ,找到相关推送后获取本文代码。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐