一般来说学习数学建模,常用的软件有五种,分别是Matlab、 Lingo、 Mathematica、 SPSS和SAS。对于数学规划的模型,建议大家使用Lingo软件求解比较方便,对于其它问题,如时间序列模型,你使用什么软件求解都可以,关键看个人的喜好和对某种软件的熟悉程度,例如你可以使用SPSS, SAS或Eviews, R软件等求解时间序列模型。
画出x^2+(y-5)^2=16绕x轴旋转一周的旋转曲面。
旋转面参数方程为
x = 4cosα,
y=(5+4sinα)cosβ
z=(5+4sinα)sinβ
利用surf画图,其中α,βε[0,2π] 。画图的Matlab程序如下。
>> alpha=[0:.1:2*pi]';
>> beta=[0:0.1:2*pi];
>> x=4*cos(alpha)*ones(size(beta));
>> y=(5+4*sin(alpha)*cos(beta));
>> z=(5+4*sin(alpha)*sin(beta));
>> surf(x,y,z)
画图的Matlab程序也可以写成
>> x=@(alpha,beta)4*cos(alpha);
y=@(alpha,beta)(5+4*sin(alpha))*cos(beta);
z=@(alpha,beta)(5+4*sin(alpha))*sin(beta);
ezsurf(x,y,z)
对于其它的二次曲面,如果可以写成单支的显函数,直接使用命令ezmesh或ezsurf 画图,杏则必须先化成参数方程.
例2 绘制二元函数
z=sin(xy)/xy;
的三维表面图.
>> [x,y]=meshgrid([-3:0.2:3]);
>> z=(sin(x.*y)+eps)./(x.*y+eps);
>> surf(x,y,z)
![](https://img-my.csdn.net/uploads/201209/05/1346852290_9703.jpg)
第二种方法是用符号函数
>> ezsurf('sin(x*y)/(x*y)');
第三种方法是用匿名函数
z=@(x,y)sin(xy+eps)/(xy+eps);%定义匿名函数
ezsurf(z);
x=3cosα
y = 2sinα,
z=t, tεR.
>> ezmesh(x,y,z)
>> x=@(alpha,t) 3*cos(alpha);
>> y=@(alpha,t) 2*sin(alpha);
>> z=@(alpha,t) t;
>> ezmesh(x,y,z)
![](https://img-my.csdn.net/uploads/201209/05/1346853483_7568.jpg)
4、在matlab的图形中,利用Interpreter(翻译器、解释器、注释)的属性值为Latex,可以使用数学公式。
latex数学公式的前后要加上”$” 或 ”\( “和 ”\)“,比如:”$f(x) = 3x + 7$ “和 ”\(f(x) = 3x + 7\) “效果是一样的;
如果用 \[ 和 \],或者使用 $$ 和 $$,则改公式独占一行;
如果用 \begin{equation} 和\end{equation},则公式除了独占一行还会自动被添加序号, 如何公式不想编号则使用\begin{equation*} 和\end{equation*}.
clc,clear %清除命令窗口 清除工作空间
>> x=-2*pi:0.1:2*pi;
>> y1=sin(x);
>> y2=sin(x+pi/3)+2;
>> y3=cos(x);
>> plot(x,y1,'.-')
>> hold on%图形保持命令
>> plot(x,y2,'*-')
>> plot(x,y3,'-o')
>> h=legend('sin($x$)','sin($x+\frac{\pi}{3}$)','cos($x$)')%1atex格式显示 legend为说明、图例 latex分数:\frac{numerator}{denominator}
h =
181.0056
Warning: Unable to interpret TeX string "sin($x+\frac{\pi}{3}$)"
>> set(h,'Interpreter','latex') %此时才真正为latex
>> xlabel('$x$','Interpreter','latex')%x标签用latex格式显示
>> ylabel('$y$','Interpreter','latex')%latex格式显示
![](https://img-my.csdn.net/uploads/201209/05/1346854697_6513.jpg)