数学建模Matlab上机实训题目答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学建模Matlab上机实训题目

一、矩阵及数组操作:

1.利用基本矩阵产生3×3和15×8的单位矩阵、

解:

全1矩阵、

解:

全0矩阵、

解:

均匀分布随机矩阵([-1,1]之间)、解:

正态分布矩阵(均值为1,方差为4)

解:

2.利用fix及rand函数生成[0,10]上的均匀分布的10×10的整数随机矩阵a,然后统计a中大于等于5的元素个数。

解:

3.在给定的矩阵中删除含有整行内容全为0的行,删除整列内容全为0的列。解:

a=[1 2 0 4;0 0 0 0;5 6 0 8; 9 1 0 2];

a(:,find(sum(abs(a'))==0))=[];

a(find(sum(abs(a'))==0),:)=[]

二、绘图:

4.在同一图形窗口画出下列两条曲线图像:

y1=2x+5;y2=x^2-3x+1,

并且用legend标注。

解:

5.画出下列函数的曲面及等高线:

z=x^2+y^2+sin(xy).

解:

三、程序设计:

6.编写程序计算(x在[-3,3],间隔0.01)解:

7.有一列分数序列:

求前15项的和。

解:

8.用至少三种方法编写函数实现求任意整数n的阶乘。解:

方法一:

function f=factor(n)

if n<=1;

f=1;

else

f=factor(n-1)*n;

end

方法二:

function result=fa(n)

n=input('please input n:');

result=1;

for i=1:n;

result=result*i;

end

方法三:

n=input('please input n:');

x=1:n;

prod(x)

please input n:5

ans =

120

9*.将任意偶数m写成两个素数p1、p2的和(试着写出所有的m=p1+p2的可能形式)。解:

function y=f(n);

n=input('请输入n的值:');

if mod(n,2);

error('n不是素数.请重新运行程序.')

else

for m=1:n;

for k=m:n;

if (isprime(m))&(isprime(k))&(m+k==n);

disp([num2str(n),'=',num2str(m),'+',num2str(k)]);

break;

end;

end;

end;

end;

10*.是否任意3的倍数m可以写成两个素数p1、p2、p3的和(试着写出所有的m=p1+p2+p3 的可能形式)?

解:

function y=fg(n);

n=input('请输入n的值:');

if mod(n,3);

error('n不是3的倍数.请重新运行.')

elseif n<6;

error('n必须不小于6.')

else

for m=1:n;

for k=m:n;

for p=k:n

if(isprime(m))&(isprime(k))&(isprime(p))&(m+k+p==n);

disp([num2str(n),'=',num2str(m),'+',num2str(k),'+',num2str(p)]);

break;

end;

end;

end;

end;

end;

四、数据处理与拟合初步:

分别采用y=c1+c2e^(-t)和y=d1+d2te^(-t)进行拟合,并画出拟合曲线进行对比。解:

12.计算下列定积分:Z1:

解:

function f=jifenl(x)

f=exp(-2*x);

[z1,n]=quad(@jifen1,0,2)

Z2:

解:x=0:0.01:2;

z2=exp(2*x);

trapz(x,z2)

ans =

26.8000

Z3:

解:

t=-1:0.01:1;

z3=x.^2-3*x+0.5;

trapz(x,z3)

ans =

-2.3333

13.微分方程组

当t=0时,x1(0)=1,x2(0)=-0.5,求微分方程t在[0,25]上的解,并画出相空间轨道图像。解:

t=0:0.01:25;

x=1/2+1/2*exp(-t);

y=1/8+1/6*exp(-t)-19/24*exp(-4*t);

plot(t,x,t,y)

14.设通过测量得到时间t与变量y的数据:

t=[0 0.3 0.8 1.1 1.6 2.3];

y=[0.5 0.82 1.14 1.25 1.35 1.41];

分别采用多项式:y=a0+a1t+a2t2

和指数函数y=b0+b1e-t+b2te-t

进行拟合,并计算均方误差、画出拟合效果图进行比较。解:

t=[0 0.3 0.8 1.1 1.6 2.3];

y=[0.5 0.82 1.14 1.25 1.35 1.41];

tt=0:0.01:2.3;

a=polyfit(t,y,2)

yy1=polyval(a,tt);

z1=polyval(a,t);

wucha1=sqrt(sum((z1-y).^2))

B=[ones(size(t')) exp(-t)' (t.*exp(-t))'];

相关文档
最新文档