数学实验模拟题.docx
- 文档编号:7317741
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:14
- 大小:95.12KB
数学实验模拟题.docx
《数学实验模拟题.docx》由会员分享,可在线阅读,更多相关《数学实验模拟题.docx(14页珍藏版)》请在冰豆网上搜索。
数学实验模拟题
目录
1常用函数1
2程序设计语句2
3函数3
4绘图4
5微积分、符号计算6
6线性代数7
7数值计算8
8最优化方法8
9随机模拟、蒙特卡罗法9
1常用函数
一、填空题(在下划线上填写答案)
写一个函数r=f(s),对传进去的字符串变量s,删除其中的小写字母,然后将原来的大写字母变为小写字母,得到r返回。
例如s='abCDE,',则r='cde,'。
functionr=f(s)
index=find()
s(index)=[];
r=.
参考解答:
functionr=f(s)
index=find(s>='a'&s<='z');
s(index)=[];
r=lower(s);
%lower()变成小写字母
二、填空题(在下划线上填写答案)
随机产生10个0到50的整数,要求:
(1)输出最大值及在原来数列中的序号。
(2)输出这10个整数之和
V=;%产生随机整数向量
[value,index]=
disp(sprintf('最大值=%d',value))
disp(sprintf('最大值位置序号=%d',index))
disp(sprintf('总和=%d',))
参考解答:
V=fix(51*rand(1,10));%产生随机整数向量
%x=rand(m,n)产生m行n列的位于(0,1)区间的随机数
%fix朝零方向取整,如fix(-1.3)=-1;fix(1.3)=1;
[value,index]=max(V)
disp(sprintf('最大值=%d',value))
disp(sprintf('最大值位置序号=%d',index))
disp(sprintf('总和=%d',sum(V)))
2程序设计语句
三、有一随机数向量v,请分别用for循环、不要循环语句求向量各元素绝对值之和,并分别将计算结果赋给变量s1,s2.已经编写了v的初始化代码.
N=100;
v=rand(1,N);
参考程序:
N=100;
v=rand(1,N);
s1=0;
fori=1:
N,
s1=s1+abs(v(i));
end
s2=sum(abs(v));
注:
通过该程序说明了Matlab语言的一些特点.
四、有一个向量
,
中元素为区间[0,100]上的随机数,编程求解下列式子:
,其中u为不超过n的最大奇数.整数n通过input函数输入。
参考解答:
n=input('输入n=');
v=fix(101*rand(1,n));
%第1个版本:
用for循环语句
%下面执行效率不高;考虑不用循环语句的实现
s1=0;
fori=1:
2:
n
s1=s1+v(i)^2;
end
%另一个版本
n=input('输入n=');
v=fix(101*rand(1,n));
ii=1:
2:
n;
s1=sum(v(ii).^2)
3函数
五、已知函数
.请编写function函数文件计算
函数值.
参考解答:
functionr=fun(x)
ifx<-1,
r=x-10;
elseifx<=1,
r=x*x+1;
else
r=x+10;
end
六、已知函数
.请编写函数文件计算
函数值.
参考解答:
functionr=fun(x,y)
t=x*x+y*y;
ift<=1,
r=sqrt(t);
else
r=2*x*x+3*y*y;
end
七、已知函数
.请编写函数文件计算
函数值.
参考解答:
functionr=fun(x,y)
t=x*x+y*y;
ift<=1,
r=sqrt(t);
elseift>=4,
r=2*x*x+3*y*y;
else
error('输入数据错误')%输入点不在定义域内
end
4绘图
八、请绘制曲线
.
参考程序:
t=linspace(0,2*pi,50);
x=t+t.^2;
y=cos(t).*sin(t);
plot(x,y)
九、请用三种方法绘制曲线
(
).
参考程序:
functiontestmain
subplot(2,2,1)%使用ezplot
ezplot('sin(x)+cos(x)',[02*pi])
subplot(2,2,2)%使用plot
x=linspace(0,2*pi,100);%或x=0:
0.1:
2*pi;
plot(x,sin(x)+cos(x))
subplot(2,2,3)%使用plot,计算函数值使用了inline函数
fun=inline('sin(x)+cos(x)','x');
fplot(fun,[0,2*pi])
subplot(2,2,4)%使用plot,定义函数
x=linspace(0,2*pi,100);%或x=0:
0.1:
2*pi;
plot(x,myfun(x))
%第5种:
使用fplot,定义函数
figure
x=linspace(0,2*pi,100);%或x=0:
0.1:
2*pi;
fplot(@myfun,[02*pi])
functionr=myfun(x)
r=sin(x)+cos(x);
一十、设
,画出定义域
内的曲面图。
参考程序:
[x,y]=meshgrid([-4:
0.1:
4]);
z=x.*y.*exp(-x.^2+2*x.*y+y.^2);
mesh(x,y,z)
一十一、
(1)已知曲面方程
,请编写程序绘制曲面.
(2)已知曲面方程
,请编写程序绘制曲面.
参考程序:
%
(1)
h=0.1;
[X,Y]=meshgrid(2:
h:
8,1:
h:
9);
Z=sqrt(2*X.^2+3*Y.^2);
mesh(X,Y,Z)
%
(2)
figure
r=1:
0.1:
3;
theta=0:
0.2:
2*pi;
[R,T]=meshgrid(r,theta);
X=R.*cos(T);Y=R.*sin(T);
Z=sqrt(2*X.^2+3*Y.^2);
mesh(X,Y,Z)
一十二、已知函数
,画出函数在区间
上的曲线。
参考程序:
x1=-5:
0.01:
-2;
y1=x1.^2-2.*x1-3;
x2=-2:
0.01:
2;
y2=x2.^2-1;
x3=2:
0.01:
5;
y3=x3.^2+2.*x3-1;
holdon;
plot(x1,y1);
plot(x2,y2);
plot(x3,y3)
%orplot(x1,y1,x2,y2,x3,y3)
一十三、绘制参数曲线
的图形.
参考程序:
t=-2*pi:
pi/100:
2*pi;
x=2*cos(t).*cos(t);
y=3*sin(t).*sin(t);
z=1+2*t;
plot3(x,y,z);
grid;
xlabel('x'),ylabel('y'),zlabel('z')
5微积分、符号计算
一十四、填空题(在下划线上填写答案)
有一个微分方程
,
,
.请编程求出特解,并画出解曲线。
clear
y=dsolve()
fun=inline(char(y),'t')
T=;
Y=zeros(size(T));
fori=1:
length(T),
Y(i)=;%利用fun计算函数值
end
plot(T,Y,'*')
参考解答:
clear
y=dsolve('Dy=0.1*(1-0.002*y)*y','y(0)=10','t')
fun=inline(char(y),'t')
T=0:
0.1:
100;
Y=zeros(size(T));
fori=1:
length(T),
Y(i)=fun(T(i));%利用fun计算函数值
end
plot(T,Y,'*')
一十五、求函数
的一阶导数(赋给D1);并求
(赋给D2).
参考程序:
symsabxy;
y=exp(a*x)*sin(b*x);
D1=diff(y,x,1)
D2=subs(D1,x,1/(a+b))
6线性代数
一十六、求矩阵
的转置.
参考程序:
A=[2,6,5;10,4,1;4,7,4;1,5,9];
S=A'
一十七、设
求
参考程序:
A=[2,3,6;3,0,5];
B=[2,9,6;1,5,3];
S1=A+2*B
S2=B-3*A
一十八、设
,
,求
;
并求矩阵
的逆阵。
参考程序:
A=[25512;-33-58;7429];
B=[6551;8-436;25105];
C1=A*B'
C2=A'*B
A1=inv(C1)
A2=inv(C2)
%inv是什么?
7数值计算
一十九、某种复合物质的主要成分为A。
经过试验和分析,发现主要成分A与其性能指标E之间有一定的数量关系。
下面有一组数据。
A
37.0
37.5
38.0
38.5
39.0
39.5
40.0
40.5
41.0
41.5
42.0
42.5
43.0
E
3.40
3.00
3.00
2.27
2.10
1.83
1.53
1.70
1.80
1.90
2.35
2.54
2.90
请编写程序绘出散点图,并用二次多项式函数拟合数据,然后分别预测A=44,45时,指标E的值。
参考程序:
A=[37.037.538.038.539.039.540.040.541.041.542.042.543.0];
E=[3.403.003.002.272.101.831.531.701.801.902.352.542.90];
plot(A,E,'*')
a=polyfit(A,E,2);
Fnew=polyval(a,[4445])
8最优化方法
二十、某化学品生产厂家生产A、B两种产品,产一吨A产品用R1资源3吨,R2资源5m3,R3资源9件.;产一吨B产品用R1资源4吨,R2资源5m3,R3资源7件.一吨A产品和B产品分别价值60万元和70万元,资源R1、R2、R3现有量分别为140吨、180m3和220件.另外要求生成的A产品不低于4吨,B产品不低于3吨。
生产两种产品各多少才能使总价值最高?
请为此建立优化模型并用linprog函数求解。
参考答案:
问题分析:
可建立最优化模型求解问题。
目标:
生产的2种产品的总价值最高;
决策:
两种产品的产量
约束条件:
三种资源的限制
变量:
设x,y分别表示生产A、B两种产品的产量(5分)
(目标函数:
5分,条件:
5分)
参考程序:
f=[-60-70];%单价
A=[34;55;97];%量
b=[140;180;220];%量
lb=[4;3];ub=[inf;inf];
[x,val,flag]=linprog(f,A,b,[],[],lb,ub)
9随机模拟、蒙特卡罗法
二十一、请用蒙特卡罗法计算曲线
与曲线
所围区域面积。
提示:
计算曲线交点A(-2,4),B(3,9)。
可用x=-2,x=3,y=0,y=9围成的矩形包含这个区域。
再随机投点实验。
下面是两条曲线.
x=linspace(-2,3,50);
y1=x.^2;
y2=x+6;
plot(x,y1,x,y2)
参考程序1:
%1.随机投点
N=10000;
x=5*rand(1,N);%x=unifrnd(0,5,1,N);
y=3*rand(1,N);%y=unifrnd(0,3,1,N);
%2.绘图
plot(x,y,'.')
%3.统计
num=sum(y>x.^2&y 参考程序2: %1.随机投点 N=10000; x=5*rand(1,N);%x=unifrnd(0,5,1,N); y=3*rand(1,N);%y=unifrnd(0,3,1,N); %2.绘图 plot(x,y,'.') %3.统计 idxs=find(y>x.^2&y num=length(idxs); 二十二、请向直线 所围平面区域内随机投10000个点,绘出投点,并统计在直线 上方的点有多少(赋值给num)。 参考程序: N=10000; x=5*rand(1,N); y=3*rand(1,N); plot(x,y,'.') idx=find(y>=x); num=length(idx) %前2行可以用下列代码完成 num=sum(y>=x) 二十三、已知某物体由圆锥面 和半球面 所围。 该三维立体含于区域 内。 请用蒙特卡罗方法计算体积。 参考程序: functionV=simfun(N) ifnargin==0 N=10000; end ifN<10000, warning('输入参数投点个数N<10000') end r=rand(N,3); x=2*r(: 1)-1; y=2*r(: 2)-1; z=2*r(: 3); t1=x.^2+y.^2; t2=sqrt(t1); index=find(z>=t2&z<=1+sqrt(1-t1)); m=length(index); %orm=sum(z>=t1&z<=1+sqrt(1-t2)); V=8*m/N;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 实验 模拟