Posted by on 2017年3月11日

今天整理一下最近MATLAB的一些小小心得,not big deal but little tricks.
1.关于power function 和 nthroot
MATLAB中输入

时,往往会得到

因为我想要的是实数解-2,而不是复数.
这让我感到十分有意思,于是doc power后,发现文件中说

For negative base A and noninteger B, if abs(B) is less than 1, the power function returns the complex roots of A.
Use the nthroot function to obtain the real roots.

于是用输入

会得到

这个时候,我很好奇MATLAB中power函数的输出原则是什么。于是自己动手探究了一下。

得到以下gif

GIF

一个根。
大家以后碰到类似情况一定要注意,不然很多时候debug起来会很头疼。
2.习惯要好
计算过程中常常会得到一些solutions,最近的经验是习惯一定要好。第一,在编程前期探索阶段要随手mesh/plot,看看结果是否符合预期;第二,随手保存,无论mat/csv/txt格式,总比手抖了clear之后哭瞎要好。第三,还是前期在使用fsolve时,optimoptions里也随手加上‘PlotFcns’吧。
3.ActiveX

ActiveX在广义上是指微软公司的整个COM架构,但是现在通常用来称呼基于标准COM接口来实现对象链接与嵌入(OLE)的ActiveX控件。

 
而我们可以通过调用ActiveX来做许多事情,比如处理Excel中的数据。

基本上Excel里能够达成的操作都可以用ActiveX+MATLAB完成,十分强大。
4.让保存的图片更加清晰
很多时候我们会发现保存的图片都缩紧到一起了,十分不好看。只需要在code里面加上一句命令就可以让figure最大化后再保存,效果很好。

5.cellfun
我们经常发现很多对矩阵有用的函数,用在class cell的对象上就不行了。然而cell类本身十分强大的,尤其是储存字符类的时候,我们还是经常会碰到。这个时候强大的cellfun就派上用场了。cellfun的句法是

其中func是个function handle。这样我们其实自己可以写自己的cellfunc.
示例如下:
a是一个cell,我们想要算出a的mean。

亲测很有用。
6.文件夹及文件处理
当我们需要处理大量文件或文件夹时,例如修改名称,这时MATLAB也可以派上用场。

今天就分享这些,希望对大家有用。欢迎各位踊跃留言!
【欢迎订阅并关注微信公众号“饱蠹阁BaoDuGe”】

Tags: ,
3 views
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Comments

  1. Carren
    2017年3月12日

    感觉很实用!

    • baoduge
      2017年3月12日

      嗯嗯,little tricks of MATLAB

  2. Serene
    2017年3月12日

    gif做的很棒,结果很直观。这几个小技巧确实很赞,很用心。以后要是可以分类整理发布感觉会更治愈强迫症,遇到问题也便于查询到相关文档。

    • baoduge
      2017年3月12日

      多谢留言!我是想等内容多一些之后再分栏目。我都有注明分类的。

  3. Tingting
    2017年3月17日

    点赞!继续加油呀!

Leave a Reply

返回顶部