前言
前几天有一个小伙伴问我怎么用MATLAB绘制一些函数图像,我看了下,这不就是万恶的高等数学附录后面的图像内容吗?看到题目要求绘制的前六个图像,我的思绪又飘到了几年前被高数支配的恐惧中。但是,这几个函数的确是锻炼MATLAB编码的好例子,因此特地写下这篇帖子,算是对那个u的反馈,对他信任我的MATLAB技术表示感谢。先贴上此次任务的几个函数美貌让大家看看。见图1
图1:本次目标函数
绘制三次抛物线的图像
分析:首先,我们需要注意,这是一个单调函数,而且在整个定义域内单调,这无疑是很简单的。其次,我们需要考虑自变量 ()的取值范围。不难分析出来(),但是,必须注意,在计算机中很难将整个R域表达出来,因此我们只截取部分对称区间绘图,在本题目中,取(),绘图的平滑度取决于自变量取值的步长的大小。因变量()随自变量()变化而变化,这个不再赘述。另外,请注意,这个函数中还有一个参数() ,虽然书中的图像并没有对其取值进行讨论,而且书中的 ()值显然为正值,但在这里,我们对其取值也进行讨论。事实上,满足(),同样的,我们只考虑在某些特定条件下的取值。
解:对于自变量(),我们给步长(),现对参数的取值进行讨论。
①当()时,我们只取()进行讨论。代码如下:
a=[-1.5 -2 -2.5 -5 -10];%定义a的取值数组x=-10:.5:10;%定义自变量的取值范围fori =1:length(a)y=a(i) * x.^3; %定义因变量的表达式plot(x,y,LineWidth,3)%绘制函数图像,其中设置线宽为3str{i}=[a=,num2str(a(i))];%定义一个字符串数组str,用来存放随后的legend内容holdon;endlegend(str)title(当a