《数学实验》在线习题答案 二、程序阅读理解(30分)

《数学实验》在线习题答案 二、程序阅读理解(30分)
1.解释下面程序的功能,并写出该程序所求解的数学问题
syms x y
y = dsolve('Dy=1/(1+x^2)-2*y^2','y(0) = 0','x')
ezplot(y)
pretty(y)
2.写出所研究的数学函数,并指出程序中每一个变量的数据结构(如果是向量则指出向量元素的个数,如果是矩阵则指出矩阵的行列数).
[x,y]=meshgrid(-8:.5:8);
r=sqrt(x.^2+y.^2)+eps;
z=sin(r)./r; mesh(x,y, z)
colormap([1 0 0])
四、建立数学模型(15分)
某化工厂生产A、B、C、D四种产品,每种产品生产1吨消耗工时和产值如下:
产品 A B C D
工时(小时) 100 300 400 75
产值(千元) 1 5 10 0.5
要求全厂年产值为1000万元以上,建立使生产消耗总工时最小的数学模型.
qianye1981 1年前 已收到1个回答 举报

pyz0324 幼苗

共回答了19个问题采纳率:94.7% 举报

到MATLAB中运行一下就清楚了.
2.1
syms x y %定义两个符号变量;
y = dsolve('Dy=1/(1+x^2)-2*y^2','y(0) = 0','x') %解符号微分方程;
dy/dx = 1/(1+x^2) - 2*y^2 ;
y(0) = 0;
这就是程序所求解的数学问题,即一个初值微分方程问题.
y =
x/(1+x^2)
是matlab运行的结果.此即该方程的解.
ezplot(y) %做y = x/(1+x^2) 的函数图像.
pretty(y) %以通常纸面书写形式显示y;
运行结果为:
x
------
2
1 + x
2.2
[x,y]=meshgrid(-8:.5:8);
定义了一个网格;即x-y平面上的自变量范围;x取值为-8到8;离散化后,是每0.5取一点;y与x同.
r=sqrt(x.^2+y.^2)+eps;
中间变量;
eps 表示matlab中绝对值最小的数.这样下面定义z时,就不会出现0做除数的情况了.
z=sin(r)./r;
定义二元函数z=sin(x^2+y^2) / (x^2+y^2);
mesh(x,y, z)
作图;
colormap([1 0 0])
设置颜色.
>> whos
Name Size Bytes Class
r 33x33 8712 double array
x 33x33 8712 double array
y 33x33 8712 double array
z 33x33 8712 double array
各变量的类型与大小显示得很清楚.
当然,这种简单的程序,不运行,也很容易分析.初学者可以自己分析,与运行结果对照,加深理解.

设ABCD各生产x1,x2,x3,x4,单位是吨;
目标:y=MIN(100*x1+300*x2+400*x3+75*x4)
约束:x1+5*x2+10*x3+0.5*x4>10000000;
另外,x1,x2,x3,x4,均大于等于0.

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.118 s. - webmaster@yulucn.com