作者:Daniel
时间:2020年7月30日
写给Matlab小白的教程。如果你已经安装了Matlab,手头有一堆Matlab教程,面对书中一堆术语和命令不知所措,那么,请看本教程,从零开始,快速上手。
1 本文要点
- 初等代数计算:求函数值,求代数方程的根;
- 画函数图像;
- 代数运算符号:+、 − - −、*,/,sqrt,^;常数: pi
- 命令:roots, fplot.
Karl最近对Matlab产生了浓厚的兴趣,刚刚在电脑上安装了Matlab(如何安装,请关注公众号:大哉数学之为用,里面提供matlab安装包下载和安装教程)。他随便找了一本电子书教程,浏览了一下前两章,对Matlab有了一个基本的了解。
他决定在电脑上实际操作一下。正好,上中学的儿子问他数学问题,他就尝试用Matlab给儿子讲数学。
2 代数计算
例1 已知球的半径 r = 2 r=2 r=2, 计算球的体积。如果已知球的体积为17,计算球的半径。
这是一个函数的自变量和函数值互求的问题。函数表达式为: V = 4 3 π r 3 V=\frac{4}{3}\pi r^3 V=34πr3。
Karl从书上了解到,Matlab有科学计算器的功能,当然,这种计算功能对功能强大的Matlab来说是大材小用了,不过,这正是初学者快速上手的好例子。
只要告诉Matlab自变量取值,以及函数表达式,它就能算出结果了。Karl发现Matlab语句与数学中用到几乎没有差别,例如简单的代数运算符号如下表:
在命令行窗口输入:
r=2,V=4/3*pi*r^3
按回车键,马上得到计算结果:
已知 V V V的值,计算半径 r r r, 思路一是可以将 r r r反解出来,然后像上面一样计算。这里,还可以用另一种思路:多项式求根。因为此时 r r r是代数方程 4 3 π r 3 − 17 = 0 \frac{4}{3}\pi r^3-17=0 34πr3−17=0的根。
计算多项式的根的命令是:roots([多项式系数])
,其中多项式系数是按降幂排列,缺项的要补0。
在命令行窗口继续输入:
roots([4/3*pi 0 0 -17])
得到结果:
这里前两个根是虚根,第三个等于球的半径,所以, r = 1.5951 r=1.5951 r=1.5951,当然这是一个近似值。
3 函数作图
Karl希望将函数图像展示给儿子看,让他体会函数值随自变量变化而变化的函数本质。
Karl查了一下书中作图的部分,作图的命令有好几个,这里用fplot
比较方便,f代表function, plot是画图的意思。fplot
的语法如下:
fplot(@(自变量)函数表达式,[a,b],'r')
@(自变量)
定义自变量;[a,b]
代表定义域;'r'
代表曲线颜色设置为红色(red)。
注意:圆括号里三个项目用逗号隔开,区间用方括号,颜色用单引号括起来,所有符号都必须是英文输入状态下的符号。
Karl在这里踩了一个坑,他输入:
fplot(@(r)4/3*pi*r^3,[0,5],'r')
发现虽然画出了正确的图像,但是命令行窗口却出现了一大段红色警告:
这有点令他不舒服。他看不懂警告中的内容,于是搜索了一下,终于明白了,Matlab作图的原理是描点法,就是在定义域区间内,每隔一小段距离取一个图像上的点,当步长足够小的时候,就连成了一条曲线。
所以,这里r本质上是一个行矩阵(或称为数组), ∗ r 3 *r^3 ∗r3 本质上是数组运算,而数组运算的符号要在乘号前加一个句点,也就是修改为如下语句:
fplot(@(r)4/3*pi.*r^3,[0,5],'r')
这里符号.*是一个整体,表示前面的常数乘以一个数组。
Karl不喜欢Matlab的函数图像外面的那个方框,此外,他还想添加一谢文字说明,这些都不难:
fplot(@(r)4/3*pi*r.^3,[0,5],'r') ; %球的体积函数的图像
title('球的体积函数图像:V=4/3 \pi r^3');
xlabel('r');
ylabel('V');
box off;
grid on;
- title、xlabel、ylabel分别用来添加图的标题,横纵轴的标签。由于标签的属性都是字符串,字符串需要用英文的单引号括起来。
- box off是关闭图像外框。
- grid on 是添加网格。
得到的图像如下:
今天的内容就是这些,希望对你有帮助!更多内容可以长按下面的二维码关注公众号:大哉数学之为用:
长按识别二维码回复:003,领取2.5 G MatLab入门视频+基础进阶实战电子书