Matlab与数学建模综合练习(1)
- 格式:doc
- 大小:159.00 KB
- 文档页数:19
1.某市为了创建园林型城市,计划在该市的望湖公园里栽花1800支,由于施工队加强了施工力量,实际每天栽花的数量是原计划的3倍,最终提前2天完成了栽花任务,
问题一:原计划每天栽花的数量是多少支?
问题二:用Matlab求出问题一中的值。
解:问题一:设原计划每天栽花的数量是x支,由题意可得等量关系为:
原计划所用天数-实际所用天数=2,
所以根据等量关系可以列出方程:
18001800
-=
2
3
x x
x =600
故原计划每天栽花的数量是600支。
问题二:
输入命令:
syms x
x=solve(1800/x-1800/(3*x)==2,x) %解方程
运行结果:
x =600
2.一牧场每天支出15元经费用于养一头牛,估计可使一头250公斤重的生牛每天增加5公斤。
目前生牛市场售价为每公斤70元,但是预测每天会降低0.5元,问该牧场应该什么时候出售这样的生牛,可以使获得的利润最大。
(要求用Matlab求解,并附有Matlab 截图)
解:设在第x天出售这样的生牛(初始重250公斤的牛)可以获得的利润为y元。
每头牛投入:15x元
产出:(70-0.5x)(250+5x)元
利润:y=(70-0.5x)(250+5x)-15x=-2.5x^2+210x+17500
使用Matlab软件计算,得
当天数x=42时,利润y取得最大值21910(元)。
故该牧场应该在第42天时候出售这样的生牛,可以使获得的利润最大。
附Matlab计算截图:
①利润y取得最大值的Matlab计算截图
②天数x=42天的Matlab计算截图。
数学建模MATLAB 语言及应用上机作业11. 在matlab 中建立一个矩阵135792468101234501234A ⎡⎤⎢⎥⎢⎥=⎢⎥-----⎢⎥⎣⎦答案:A = [1,3,5,7,9;2,4,6,8,10;-1,-2,-3,-4,-5;0,1,2,3,4]2. 试着利用matlab 求解出下列方程的解(线性代数22页例14)123412423412342583692254760x x x x x x x x x x x x x x +-+=⎧⎪--=⎪⎨-+=-⎪⎪+-+=⎩ 答案:A=[2 ,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6]; B=[8;9;-5;0]; X=A\B 或A=[2,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6] b=[8,9,-5,0]' X=inv(A)*b3. 生成一个5阶服从标准正态分布的随机方阵,并计算出其行列式的值,逆矩阵以及转置矩阵。
答案:A=randn(5) det(A) inv(A) A'4. 利用matlab 求解出110430002A -⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦的特征值和特征向量。
答案:A=[-1,1,0;-4,3,0;0,0,2] [V,D]=eig(A)5.画出衰减振荡曲线3sin3t y et -=在[0,4]π上的图像。
要求,画线颜色调整为黑色,画布底面为白色。
(在实际中,很多打印机时黑白的,因此大多数作图要考虑黑白打印机的效果。
) 给出恰当的x ,y 坐标轴标题,图像x 轴的最大值为4π。
6. 生成一个0-1分布的具有10个元素的随机向量,试着编写程序挑选出向量中大于0.5的元素。
数学建模和Matlab 上机作业2(2016-9-20)跟老师做(不用整合进作业中):上机演示讲解:函数,递归的两个例子的写法。
附:1. Fibonacci Sequence (斐波那契数列)在数学上,费波那西数列是以递归的方法来定义: F1= 1;F2= 1;F (n )=F (n-1)+F (n-2) 2. 阶乘举例:数学描述:n!=1×2×……×n ;计算机描述:n!=n*(n-1)!自己做(需要整合进作业中,提交到系统中):1. 写一个m 文件完成分值百分制到5分制的转换(即输入一个百分制,转换后输出一个5级对应的得分,联系条件控制语句)。
2、已知速度曲线v(t) 上的四个数据点下表所示t=[0.15,0.16,0.17,0.18];v=[3.5,1.5,2.5,2.8];x=0.15:0.001:0.18y=i n t e r p1(t,v,x,'s p l i n e')S=t r a p z(x,y)p=p o l y f i t(x,y,5);d p=p o l y de r(p);d p x=p o l y v a l(d p,0.18)运行结果S=0.0687Dpx=-3、计算图片文件tu.bmp 给出的两个圆A,B 的圆心,和两个圆的两条外公切线和两条内公切线的切点的坐标。
(1)计算A 圆的圆心坐标I=imread('tu.bmp');[m,n]=size(I)BW=im2bw(I)BW(:,200:512)=1;figure, imshow(BW)ed=edge(BW);[y,x]=find(ed);x0=mean(x), y0=mean(y)r1=max(x)-min(x),r2=max(y)-min(y)r=(r1+r2)/4x0 =109.7516y0 =86.7495r1 =162r2 =158r =80(2)B圆的圆心坐标和半径I=imread('tu.bmp');BW=im2bw(I)BW(:,1:200)=1;imshow(BW)ed=edge(BW);[y,x]=find(ed);x0=mean(x), y0=mean(y)r1=max(x)-min(x),r2=max(y)-min(y)r=(r1+r2)/4x0 =334.0943y0 =245.7547r1 =165r2 =158 r = 80.7500外公切线上的切点f=@(x)[(x(1,1)-109.7516)^2+(x(1,2)-86.7495)^2-80.5^2(x(2,1)-334.0943)^2+(x(2,2)-245.7547)^2-80.75^2(x(2,2)-x(1,2))*(x(1,2)-86.7495)+(x(2,1)-x(1,1))*(x(1,1)-109.7516)(x(2,2)-x(1,2))*(x(2,2)-245.7547)+(x(2,1)-x(1,1))*(x(2,1)-334.0943)(x(1,1)-x(2,1))^2+(x(1,2)-x(2,2))^2+0.75^2-(334.0943-109.7516)^2-(245.7 516-86.7495)^2];xy1=fsolve(f,rand(2,2))xy2=fsolve(f,100*rand(2,2))xlswrite('book1.xls',xy1)xlswrite('book1.xls',xy2,'Sheet1','A4')xy1 =156.2419 21.0312380.7270 179.8309xy2 =153.7425 48.4651289.4819 284.38084、求微分方程组的数值解,并画出解曲线dy=@(t,y)[-10*y(1)+10*y(2);28*y(1)-y(2)-y(1)*y(3);-8/3*y(3)+y(1)*y(2)]; [t,y]=ode45(dy,[0,10],[1;0;0])subplot(3,1,1),plot(t,y(:,1),'*')subplot(3,1,2),plot(t,y(:,2),'*')subplot(3,1,3),plot(t,y(:,3),'*')0123456789105、预测2012-2020年美国人口数量。
MATLAB 练习题1、 定义符号变量x ,y ,z ,并写出表达式zy xyzxy e f sin cos +=。
x=sym('x'); y=sym('y'); z=sym('z');f=exp(x*y*z)*cos(y)+x^(y*sin(z))2、 解方程0334=+-x x x 。
p=[1,-1,0,3,0]; roots(p)ans =0 1.0873 + 1.1713i 1.0873 - 1.1713i -1.1746solve(x^4-x^3+3*x) ans =1/3 - (79/54 - 77^(1/2)/6)^(1/3) - 1/(9*(79/54 - 77^(1/2)/6)^(1/3))1/(18*(79/54 - 77^(1/2)/6)^(1/3)) + (79/54 - 77^(1/2)/6)^(1/3)/2 + 1/3 - (3^(1/2)*(1/(9*(79/54 - 77^(1/2)/6)^(1/3)) - (79/54 - 77^(1/2)/6)^(1/3))*i)/21/(18*(79/54 - 77^(1/2)/6)^(1/3)) + (79/54 - 77^(1/2)/6)^(1/3)/2 + 1/3 + (3^(1/2)*(1/(9*(79/54 - 77^(1/2)/6)^(1/3)) - (79/54 - 77^(1/2)/6)^(1/3))*i)/2>>double(solve(x^4-x^3+3*x))ans =0 -1.1746 1.0873 - 1.1713i 1.0873 + 1.1713i3、 将π显示到小数点后十位。
最简单的当然是vpa 函数了vpa (S,D ),显示s 在精度d 下的值 vpa(pi,10)显示pi 的前十位4、 用MA TLAB 语句生成下列矩阵。
A=⎪⎪⎪⎪⎪⎭⎫⎝⎛++--++++-++i iii i i i i i i i i i i i 411442345234723145304243+5i5、用MA TLAB 语句生成以1起点,不超过π ,以0.05为步距的等差数组;用MATLAB 语句生成以0^10为起点,以102∧为终点,包含50个数据的等比数组。
高等数学实验报告(MATLAB版)班级1321701姓名黄剑学号2013201701352014年1月高等数学实验内容1基本计算与作图班级1321701姓名黄剑学号201320170135成绩一、实验内容掌握matlab软件在高等数学计算中的应用,熟悉相关命令,并会用matlab进行求解基本计算,函数的表示,函数图形的显示、函数求导、积分,微分方程求解,泰勒展开等内容。
二、预期目标1.熟悉Matlab软件的基本操作.2.掌握基本计算,函数的表示与函数求导、积分等命令.3.学会利用Matlab 软件对函数进行分析研究.三、练习内容习题一1.计算下列各式的值:(写出格式及执行结果)(1)1675;程序如下:75^16结果:ans =1.0023e+030(2)23sin ;程序如下:sin((23/180)*pi)结果:ans =0.3907(3) 2arcsin ;程序如下:asin(2/pi)结果:ans =0.6901(4)!882.在计算机上练习以下语句的输入:(1)143212-+x bx ax程序如下:syms a b xf=(3*a*x^2+4*b*x^(1/2))/(x-1)(2)13ln 42sin 2+-⎪⎭⎫ ⎝⎛+x x x π;程序如下:sym x f=(sin(2*x+pi/4)-log(3*x))/(√(x^2+1))(3)x e x x 22)2sin (cos -.习题二(只写出输入格式)1、作出13y x =的图象程序如下:clear;clc;x=0:0.1:2y=x.^(1/3)plot(x,y)2.作出14xy⎛⎫= ⎪⎝⎭的图象程序如下:clear;clc;x=0:0.02:2y=(1/4).^xplot(x,y)习题三求下列函数的极限:1.01lim x x a x→-程序如下:syms x ay=(a^x-1)/xal=limit(y,x,0)结果:al =log(a)2.222ln(3)lim 32x x x x →--+程序如下:syms xy=(log(x^2-3))/(x^2-3*x+2)limit(y,x,2)结果:ans =43.2ln lim ln x x x x x→+∞+4.0sin 4lim sin 3x xx→程序如下:syms xy=(sin(4*x))/(sin(3*x))limit(y,x,0)结果:ans =4/3习题四求下列函数的导数或微分1.y =y '.程序如下:syms xy=asin(x^(1/2))al=diff(y)结果:al =1/2/x^(1/2)/(1-x)^(1/2)2.ln ,y x =求y '''.程序如下:clear;clc;syms xy=log(x)diff(y,x,3)结果:ans =2/x^33.21sin cos xy x +=,求y '.4.211y x x =+求y '.程序如下:clear;clc;syms xy=1/x+1/(x^2)+1/(x^(2/3))diff(y,x,1)结果:ans =-1/x^2-2/x^3-2/3/x^(5/3)习题五求下列函数的积分1.742x dxx +⎰程序如下:syms xy=x^7/(x^4+2)al=int(y,x)结果:al =1/4*x^4-1/2*log(x^4+2) 2.131x e dx x ⎰3.221sincos dx x x ⎰4.21x x e dx e +⎰5.24363x x dx x +-+⎰程序如下:clear;clc;syms x ty=(x^2+x-6)/(x+3)z=int(y,x,3,4)结果:z =3/2 6.2211(1)dx x x +∞+⎰习题六求下列微分方程的解1、21u dxdu +=的解程序如下:syms u11al=dsolve('Du=1+u^2')结果al =tan(t+C1)2、3)2()2(-+=-x x y dx dy x 3、13232=-+y x x dx dy ,0|1==x y 。
matlab习题及答案《Matlab习题及答案:提升编程技能,解决实际问题》Matlab是一种强大的数值计算和数据分析工具,它被广泛应用于工程、科学和其他领域的计算和模拟。
为了帮助大家提升编程技能,解决实际问题,我们为大家准备了一些Matlab习题及答案,希望能够帮助大家更好地掌握Matlab的使用。
1. 习题一:编写一个Matlab程序,计算斐波那契数列的前20个数字,并将结果打印出来。
答案:下面是一个简单的Matlab程序,用于计算斐波那契数列的前20个数字。
```matlaba = 0;b = 1;fib = zeros(1, 20);fib(1) = a;fib(2) = b;for i = 3:20fib(i) = fib(i-1) + fib(i-2);enddisp(fib);```2. 习题二:编写一个Matlab程序,求解一个二次方程ax^2 + bx + c = 0的根。
答案:下面是一个简单的Matlab程序,用于求解二次方程的根。
```matlaba = 1;b = -3;c = 2;delta = b^2 - 4*a*c;if delta > 0x1 = (-b + sqrt(delta))/(2*a);x2 = (-b - sqrt(delta))/(2*a);disp(['The roots are ', num2str(x1), ' and ', num2str(x2)]);elseif delta == 0x = -b/(2*a);disp(['The root is ', num2str(x)]);elsedisp('The equation has no real roots');end```通过以上两个习题及答案的示例,我们可以看到Matlab的强大功能和灵活性。
通过练习这些习题,我们可以更好地掌握Matlab的基本语法和常用函数,从而在实际问题中更快更准确地解决数值计算和数据分析的挑战。
数学建模matlab例题参考及练习数学实验与数学建模实验报告学院:专业班级:姓名:学号:完成时间:年⽉⽇承诺书本⼈承诺所呈交的数学实验与数学建模作业都是本⼈通过学习⾃⾏进⾏编程独⽴完成,所有结果都通过上机验证,⽆转载或抄袭他⼈,也未经他⼈转载或抄袭。
若承诺不实,本⼈愿意承担⼀切责任。
承诺⼈:年⽉⽇数学实验学习体会(每个⼈必须要写字数1200字以上,占总成绩的20%)练习1 ⼀元函数的图形 1.画出x y arcsin =的图象.2.画出x y sec =在],0[π之间的图象. 3.在同⼀坐标系中画出x y =,2x y =,3x y =,3x y =,x y =的图象.4.画出3232)1()1()(x x x f ++-=的图象,并根据图象特点指出函数)(x f 的奇偶性.5.画出)2ln(1++=x y 及其反函数的图象.6.画出321+=x y 及其反函数的图象.练习2 函数极限1.计算下列函数的极限.(1)xxx1lim4-+π→.程序:sym x;f=(1+sin(2*x))/(1-cos(4*x)); limit(f,x,pi/4)运⾏结果:lx21ans =1(2).程序:sym x;f=(1+cos(x))^(3*sec(x)); limit(f,x,pi/2)运⾏结果:lx22ans =exp(3)(3)22)2xx-ππ→.程序:sym x;f=log(sin(x))/(pi-2*x)^2; limit(f,x,pi/2)运⾏结果:lx23ans =-1/8(4)212lim xxex→.程序:x xx sec32)sym x ;f=x^2*exp(1/x); limit(f,x,0) limit(f,x,0,'right') limit(f,x,0,'left')运⾏结果:lx24ans = NaNans = Infans = 0%左极限为零,存在,右极限为⽆穷⼤,在x 趋近于零时函数没有极限(5))215(lim 122x x x x +-∞→.程序:sym x ;f=5*x^2/(1-x^2)+2^(1/x); limit(f,x,inf)运⾏结果:>> lx25ans = -4(6)x x x x x -+-→32112lim .程序:sym x ;f=(x^2-2*x+1)/(x^3-x); limit(f,x,1)运⾏结果:>> lx26ans = 0(7)x x x 11lim 20-+→.程序:sym x ;f=(sqrt(1+x^2)-1)/x; limit(f,x,0))3sin(cos 21lim 3π--π→x x x . 程序:sym x ;f=(1-2*cos(x))/sin(x-pi/3); limit(f,x,pi/3)运⾏结果:>> lx28ans = 3^(1/2)(9)tgxx x )1(lim 0+→.程序:sym x ;f=(1/x)^tan(x); limit(f,x,0,'right')运⾏结果:>> lx29ans =(10)xx arctgx )2(lim π+∞→.程序:sym x ;f=(2/pi*atan(x))^x; limit(f,x,inf,'left')运⾏结果:>> lx210ans =Inf2.解⽅程012=-?x x . 程序:sym x ;X=solve(x*2^x-1)运⾏结果:>> lx202 X =lambertw(0, log(2))/log(2)%⽅程有两个解X=solve(3*sin(x)+1-x)运⾏结果:>> lx203 X =-0.53847936154.解⽅程03=++q px x .(p 、q 为实数) 程序:X=solve('x^3+p*x+q=0','x')运⾏结果: X =((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3) - p/(3*((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)) p/(6*((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)) -((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)/2 - (3^(1/2)*i*(p/(3*((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)) + ((p^3/27 + q^2/4)^(1/2) -q/2)^(1/3)))/2 p/(6*((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)) - ((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)/2 + (3^(1/2)*i*(p/(3*((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)) + ((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)))/2练习 3 导数及偏导数计算1.求下列函数的导数.(1))11)(1(-+=x x y程序:sym x ;f=(sqrt(x)+1)*(1/sqrt(x)-1); diff(f)运⾏结果:>> lx31ans =(1/x^(1/2) - 1)/(2*x^(1/2)) - (x^(1/2) + 1)/(2*x^(3/2))(2)x x x y ln sin =程序:sym x ;f=x*sin(x)*log(x); diff(f)运⾏结果:>> lx32ans =sin(x) + log(x)*sin(x) + x*cos(x)*log(x)2.求下列参数⽅程所确定的函数的导数.(1)??==t y t x 44程序:ans =1/t^3(2)??-=+=arctgt t y t x )1ln(2程序:sym t ;f1=log(1+t^2);f2=t-atan(t); diff(f2)/diff(f1)运⾏结果:>> lx322ans =-((t^2 + 1)*(1/(t^2 + 1) - 1))/(2*t) 3.求下列隐函数的导数.(1)22ln y x xyarctg+=程序:syms x y ;f=atan(y/x)-log(sqrt(x^2+y^2));yx=-diff(f,x)/diff(f,y)运⾏结果;>> lx331 yx =(x/(x^2 + y^2) + y/(x^2*(y^2/x^2 + 1)))/(1/(x*(y^2/x^2 + 1)) - y/(x^2 + y^2)) (2)x y y x=程序:syms x y ; f=x^y-y^xyx=-diff(f,x)/diff(f,y)运⾏结果:>> lx332 f =x^y - y^x yx =f=exp(x)*sin(x); diff(f,x,4)运⾏结果:>> lx34 ans =(-4)*exp(x)*sin(x)5.验证x e y xsin =满⾜关系式:022=+'-''y y y程序:sym x ;f=exp(x)*sin(x); y2=diff(f,x,2); y1=diff(f,x,1); y=f;y2-y1*2+2*y=='0' 运⾏结果:>> lx35ans =1%运⾏结果为1表⽰y2-y1*2+2*y=='0'成⽴6.设)ln(y x x u +=,求22x u ??,22y u,y x u 2. 程序:syms x y ; f=x*log(x+y); uxx=diff(f,x,2) uyy=diff(f,y,2) f1=diff(f,x); uxy=diff(f1,y)运⾏结果: >> lx36uxx =2/(x + y) - x/(x + y)^2uyy =-x/(x + y)^2uxy =1/(x + y) - x/(x + y)^27.求下列多元隐函数的偏导数y zx z ,.(1)1cos cos cos 222=++z y x程序:syms x y z ;-(cos(x)*sin(x))/(cos(z)*sin(z)) zy =-(cos(y)*sin(y))/(cos(z)*sin(z))(2)xyz e z= 程序:syms x y z ; f=exp(z)-x*y*zzx=-diff(f,x)/diff(f,z) zy=-diff(f,y)/diff(f,z)运⾏结果:>> lx372 f =exp(z) - x*y*z zx =(y*z)/(exp(z) - x*y) zy =(x*z)/(exp(z) - x*y) 8.证明函数22)()(lnb y a x u -+-=(b a ,为常数)满⾜拉普拉斯⽅程:02222=??+??y u x u (提⽰:对结果⽤simplify 化简)练习4 积分计算1.计算下列不定积分.(1)?+dxx x 12 (2)+x xdx 2sin 12sin2.计算下列定积分.(1)?exdxx 1ln (2)ππ342sin dxxx3.求?+tdx x x x4.求摆线)cos 1(),sin (t a y t t a x -=-=的⼀拱(π≤≤20t )与x 轴所围成的图形的⾯积.5.计算⼆重积分 (1)??≤++122)(y x dxdyy x (2)??≤++xy x dxdyy x 22)(226.计算?+Ldsy x 22 L 为圆周)0(22>=+a ax y x7.计算?++-L dy y x dx y x )()(2222,其中L 为抛物线2x y =上从点(0,0)到点(2,4)的⼀段弧.练习5 matlab ⾃定义函数与导数应⽤1.建⽴函数x x a a x f 3sin 31sin ),(+=,当a 为何值时,该函数在3π=x 处取得极值,它是极⼤值还是极⼩值,并求此极值.2.确定下列函数的单调区间.(1)7186223---=x x x y (2))0(82>+=x xx y3.求下列函数的最⼤值、最⼩值.(1)2332x x y -=41≤≤-x(2)312824≤≤-+-=x x x y练习6 matab 矩阵运算与数组运算1.计算(1)???--521111204321+???21(2)??-01301213?03010*******????? ??-205101(3)52422??- 2.设????? ??-=243121013A ,??-=112111201B ,求满⾜关系B X A =-23的X .练习7 矩阵与线性⽅程组1.求下列矩阵的秩.(1)???-321110021 (2)4820322513454947513253947543173125 2.求下列矩阵的⾏列式,如可逆,试⽤不同的⽅法求其逆矩阵.(1)??--285421122 (2)??---6201111121324321 3.设X ????? ?-111012111==--+=+-+=+-+=+-+6223312433862344224221432143214321x x x x x x x x x x x x x x x x (2)-=+--=+--=-+-212201432143214321x x x x x x x x x x x x练习8 常微分⽅程与级数求1-6题微分⽅程的通解1.1222+='y y y x 2.x y x y dx dy -+= 3.x xx y y +='cos 4.1)2sin cos (='+y y y x 5.x e y y y x2cos 3=-'+'' 6.x x y y sin 14++=+'' 求7、8题初值问题的解7.==-++-+=10)2(212222x y dx dy x xy y y xy x8.===++==0000222,02V dt dx x x x a dt dxn dtx d t t9.给出函数x x e x f xx cos 2sin )(+=在点0=x 的7阶taylor 展开式以及在x=1处的 5阶taylor 展开式.10.判别下列级数的敛散性,若收敛求其和.(1)+++311(2)∑∞=+112n nntgπ11.求幂级数∑∞=--22)1(nnnnnx的和函数.12.求函数项级数∑∞=-1nnnn xπ的和函数.。
数学建模基础练习一及参考答案练习1 matlab练习一、矩阵及数组操作1.利用基本矩阵产生3×3和15×8的单位矩阵、全1矩阵、全0矩阵、均匀分布随机矩阵([-1,1]之间)、正态分布矩阵(均值为1,方差为4),然后将正态分布矩阵中大于1的元素变为1,将小于1的元素变为0。
2.利用fix及rand函数生成[0,10]上的均匀分布的10×10的整数随机矩阵a,然后统计a中大于等于5的元素个数。
3.在给定的矩阵中删除含有整行内容全为0的行,删除整列内容全为0的列。
4.随机生成10阶的矩阵,要求元素值介于0~1000之间,并统计元素中奇数的个数、素数的个数。
二、绘图5.在同一图形窗口画出下列两条曲线图像,要求改变线型和标记y1=2x+5;y2=x^2-3x+1,并且用legend标注。
6.画出下列函数的曲面及等高线z=sinxcosyexp(-sqrt(x^2+y^2)). 7.在同一个图形中绘制一行三列的子图,分别画出向量x=[1 5 8 10 12 5 3]的三维饼图、柱状图、条形图。
三、程序设计8.编写程序计算(x在[-8,8],间隔0.5)先新建的,在那上输好,保存,在命令窗口代数;9.用两种方法求数列前15项的和。
10.编写程序产生20个两位随机整数,输出其中小于平均数的偶数。
11.试找出100以内的所有素数。
12.当时,四、数据处理与拟合初步1随机产生由10个两位随机数的行向量A,将A中元素按降序排列为B,再将B重排为A。
14.通过测量得到一组数据t 1 2 3 4 5 6 7 8 9 10 y 842 362 754 368 169 038 034 016 012 005 分别采用y=c1+c2e^(-t)和y=d1+d2te^(-t)进行拟合,并画出散点及两条拟合曲线对比拟合效果。
15.计算下列定积分16.(1)微分方程组当t=0时,x1(0)=1,x2(0)=-0.5,求微分方程t在[0,25]上的解,并画出相空间轨道图像。
matlab与数学实验的考试试题一、单项选择题(每题2分,共10分)1. MATLAB的全称是什么?A. Matrix LaboratoryB. Microprocessor Application ToolC. Microsoft Advanced Technology ToolD. Microprocessor Application Technology2. 在MATLAB中,以下哪个命令用于绘制函数f(x)=x^2在闭区间[0,1]上的图像?A. plot(0:1, 0:1)B. plot(0:0.01:1, 0:0.01:1)C. plot(0:1, 0:1:1)D. plot(0:0.01:1, 0.^2)3. 以下哪个MATLAB命令用于求解线性方程组?A. solveB. linsolveC. equationD. linear4. 在MATLAB中,用于生成一个3x3单位矩阵的命令是什么?A. eye(3)B. unit(3)C. identity(3)D. I(3)5. 如果变量x和y在MATLAB中分别表示为x = [1 2 3; 4 5 6] 和 y= [1; 2; 3],那么表达式x * y的结果是什么?A. [5; 15; 29]B. [14; 32; 50]C. [7; 15; 23]D. [3; 6; 9]二、简答题(每题5分,共20分)1. 简述MATLAB在数学实验中的作用和重要性。
2. 解释MATLAB中向量和矩阵的区别,并给出创建它们的基本命令。
3. 在MATLAB中,如何使用for循环生成一个从1到100的奇数向量?4. 描述在MATLAB中使用函数文件的过程,包括如何定义和调用函数。
三、编程题(每题10分,共30分)1. 编写一个MATLAB函数,该函数接受一个向量作为输入,并返回向量中所有元素的和。
```matlabfunction S = sumVector(V)% 请在此处编写代码end```2. 编写一个MATLAB脚本,该脚本生成一个5x5的随机矩阵,并计算其行列式。
《Matlab与数学建模》综合练习1.按顺序进行如下的操作:(1)产生一个5阶魔术方阵A;并计算A'与A-1(即inv(A));>> A=magic(5)A =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9 >> B=A'B =17 23 4 10 1124 5 6 12 181 7 13 19 258 14 20 21 215 16 22 3 9 >> inv(A)ans =-77/15600 133/2600 -23/650 3/2600 53/15600 89/2063 -97/2600 -3/650 33/2600 23/15600 -59/1950 1/325 1/325 1/325 71/1950 73/15600 -17/2600 7/650 113/2600 -577/15600 43/15600 1/200 27/650 -9/200 98/8837 (2)求A的特征值;>> eig(A)ans =65-2383/112-3846/2932383/1123846/293(3)计算A 的各列的总和与平均值; (4)计算A 的各行的总和与平均值;(5)若b=[1 2 3 4 5] ',求方程组 Ax=b 的解; (6)验证你的结论的正确性.2.产生行向量S =[1.0, 1.2, 1.4, …, 20],并计算S * S' 与 S' * S ,你有何“发现”?3.设A=⎪⎪⎭⎫ ⎝⎛4321;B=⎪⎪⎭⎫⎝⎛5055;求C=A * B – B * A ,你有何“发现”?4.若设矩阵A=⎪⎪⎭⎫⎝⎛4321;B=⎪⎪⎭⎫⎝⎛5005;求C=A * B – B * A ,你又有何“发现”? 5.如何建立如下的矩阵(命令方式和程序方式)?(1)1010200400020040002004⨯⎪⎪⎪⎪⎪⎭⎫⎝⎛; (2)1010010101001010100⨯⎛⎫⎪ ⎪⎪ ⎪ ⎪⎝⎭;>> a=ones(10,1)a =1 1 1 1 1 1 1 1 1 1>> A=0*a A =0 0 0 0 0 0 0>> b=diag(A)b =Columns 1 through 70 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0Columns 8 through 100 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 0>> c=ones(10)c =Columns 1 through 71 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 1Columns 8 through 101 1 11 1 11 1 11 1 11 1 11 1 11 1 11 1 11 1 11 1 1>> C=10*cC =Columns 1 through 710 10 10 10 10 10 1010 10 10 10 10 10 1010 10 10 10 10 10 1010 10 10 10 10 10 1010 10 10 10 10 10 1010 10 10 10 10 10 1010 10 10 10 10 10 1010 10 10 10 10 10 1010 10 10 10 10 10 1010 10 10 10 10 10 10Columns 8 through 1010 10 1010 10 1010 10 1010 10 1010 10 1010 10 1010 10 1010 10 1010 10 1010 10 10>> m=triu(C,1)m =Columns 1 through 70 10 10 10 10 10 100 0 10 10 10 10 100 0 0 10 10 10 100 0 0 0 10 10 100 0 0 0 0 10 100 0 0 0 0 0 100 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0Columns 8 through 1010 10 1010 10 1010 10 1010 10 1010 10 1010 10 1010 10 100 10 100 0 100 0 0>> n=tril(C,-1)n =Columns 1 through 70 0 0 0 0 0 010 0 0 0 0 0 010 10 0 0 0 0 010 10 10 0 0 0 00 010 10 10 10 10 0 010 10 10 10 10 10 010 10 10 10 10 10 1010 10 10 10 10 10 1010 10 10 10 10 10 10Columns 8 through 100 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 010 0 010 10 0>> K=m+n+bK =Columns 1 through 70 10 10 10 10 10 1010 0 10 10 10 10 1010 10 0 10 10 10 1010 10 10 0 10 10 1010 10 10 10 0 10 1010 10 10 10 10 0 1010 010 10 10 10 10 10 1010 10 10 10 10 10 1010 10 10 10 10 10 10Columns 8 through 1010 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0 10 10 10 0 10 10 10 0(3)1010200411120041112004⨯⎪⎪⎪⎪⎪⎭⎫⎝⎛;>> c=ones(10,1)c =1 1 1 1 1 1 1 1 1 1>> C=1024*c C =1024102410241024102410241024102410241024>> F=diag(C)F =Columns 1 through 61024 0 0 0 0 00 1024 0 0 0 00 0 1024 0 0 00 0 0 1024 0 00 0 0 0 1024 00 0 0 0 0 10240 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0Columns 7 through 100 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 01024 0 0 00 1024 0 00 0 1024 00 0 0 1024>> a=ones(10)a =Columns 1 through 61 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 1Columns 7 through 101 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 1>> U=triu(a,1)U =Columns 1 through 60 1 1 1 1 10 0 1 1 1 10 0 0 1 1 10 0 0 0 1 10 0 0 0 0 10 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0Columns 7 through 101 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 10 1 1 10 0 1 10 0 0 10 0 0 0>> D=tril(A,-1)D =Columns 1 through 60 0 0 0 0 01 0 0 0 0 01 1 0 0 0 01 1 1 0 0 01 1 1 1 0 01 1 1 1 1 01 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 1Columns 7 through 100 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 01 0 0 01 1 0 01 1 1 0>> Q=D+U+FQ =Columns 1 through 61024 1 1 1 1 11 1024 1 1 1 11 1 1024 1 1 11 1 1 1024 1 11 1 1 1 1024 11 1 1 1 1 10241 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 1Columns 7 through 101 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1024 1 1 1 1 1024 1 1 1 1 1024 1 1 1 1 1024(4)1010101010101010101010⨯--⎛⎫⎪-- ⎪⎪ ⎪ ⎪--⎝⎭(5)1000120011100⎛⎫⎪⎪⎪⎪⎪⎝⎭a=10:10:100a =Columns 1 through 710 20 30 40 50 60 70Columns 8 through 1080 90 100>> A=diag(a)A =Columns 1 through 710 0 0 0 0 0 00 20 0 0 0 0 00 0 30 0 0 0 00 0 0 40 0 0 00 0 0 0 50 0 00 0 0 0 0 60 00 0 0 0 0 0 700 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0Columns 8 through 100 0 00 0 00 0 00 0 00 0 00 0 00 0 080 0 00 90 00 0 100>> a=ones(10)a =Columns 1 through 71 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 1Columns 8 through 101 1 11 1 11 1 11 1 11 1 11 1 11 1 11 1 11 1 1>> D=tril(a,-1)D =Columns 1 through 70 0 0 0 00 01 0 0 0 00 01 1 0 0 00 01 1 1 0 00 01 1 1 1 00 01 1 1 1 10 01 1 1 1 1 1 01 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 1Columns 8 through 100 0 00 0 00 0 00 0 00 0 00 0 00 0 00 0 01 1 0>> W=A+DW =Columns 1 through 710 0 0 0 00 01 20 0 0 00 01 1 30 0 00 01 1 1 40 00 01 1 1 1 500 01 1 1 1 1 60 01 1 1 1 1 1 701 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 1Columns 8 through 100 0 00 0 00 0 00 0 00 0 00 0 00 0 080 0 01 90 01 1 100 (6)11123111113412111111220⎛⎫ ⎪⎪ ⎪ ⎪ ⎪⎪ ⎪⎪⎝⎭(7)20042000002004300000200440000020045000002004⎛⎫ ⎪ ⎪⎪ ⎪ ⎪ ⎪⎝⎭6.绘制下列曲线的图形(散点图与折线图):]2,1[,1323-∈+--=x x x x y7.绘制下列曲面的图形:2222yx z +=(提示:曲面由两部分构成)8.在同一个图形上作下列两个函数的图象:(1)]2,0[),(sin 2π∈=x x y ; (2)]2,0[),(cos 2π∈=x x y9.假如你有一组实测数据,例如:x=[53 56 60 67.5 75 90 110]; y=[109 120.5 130 141.1 157.5 180 185]; 求其回归直线,画回归直线图形并计算最小误差平方和. 10.假如你有一组实测数据,例如:x=[75 86 95 108 112 116 135 151 155 160 163 167 171 178 185]; y=[10 12 15 17 20 22 35 41 48 50 51 54 59 66 75]; 求其回归直线,画回归直线图形并计算最小误差平方和.11.随机产生500个0到100的整数FS 作为学生的考试分数.(1) 画出FS 的简单直方图;(2) 画出每个分数段(0~10、10~20、…,90~100)的统计频数直方图; 12.求下列各结果:(1)用Matlab 因式分解:1001x-.(2)用Matlab 求极限:xx L xx e-+=→10)1(lim.(3)用Matlab 求积分:⎰+∞2sin x x d .(4)用Matlab 求幂级数:∑∞=+---1212114)1(n n n n x 的和函数(化简结果).13.非线性回归尝试说明:用线性回归方法将得到:x y 5961.00089.11+-=,但当18=x 时,2794.0-=y ,这是非常荒唐的结果!显然,一个基本要求是当0=x 时0=y .试尝试使用非线性回归模型: bax y =.请尝试以下的命令:ezplot3('sin(t)', ' cos(t)', 't', [0,6*pi]) ezcontour('x*exp(-x^2 - y^2)') ezcontourf('x*exp(-x^2 - y^2)')ezmesh('(s-sin(s))*cos(t)','(1-cos(s))*sin(t)','s',[-2*pi,2*pi]) ezmeshc('(s-sin(s))*cos(t)','(1-cos(s))*sin(t)','s',[-2*pi,2*pi]) ezsurf('x*exp(-x^2 - y^2)') ezsurfc('x*exp(-x^2 - y^2)')。