数学建模Matlab作业
数学建模Matlab练习4
MATLAB练习四1. 绘制两个一元函数的曲线图(例如y=sin(x)、y=cos(x)),加上标注说明,包括坐标、抬头、曲线说明等。
%lianxi41.mx=0:pi/30:2*pi;y=sin(x);plot(x,y,'-ob','markersize',10);hold ony1=cos(x);plot(x,y1,'-.dm','markersize',10);legend('sinx','cosx');title('sin和cos函数的曲线图')xlabel('x');ylabel('y');2. 寻找一组数据拟合多项式,写出M文件,包括拟合的次数,数值的计算,数学表达式的呈现,图形的呈现等。
%lianxi42x=0:pi/20:pi;y=sin(x);n=input('n=');p=polyfit(x,y,n);x1=0:pi/20:pi*2;y1=sin(x1);y2=polyval(p,x1)plot(x1,y1,'-ob',x1,y2,':dm');legend('原曲线','拟合曲线');xlabel('x');ylabel('y');title('sin的拟合曲线和原曲线');axis([-0.2,6.5,-1.2,1.2])3. 求解一个代数方程,写出M文件,应该包括函数式M文件和命令式M文件。
%fc3.mfunction f=fc3(x)f='3*x-1=0';%lianxi43clc;clear;close;sprintf('原方程和其解析解的结果为:')s=solve(fc3)sprintf('保留10位有效数字的结果为:')digits(10)sprintf('数值解的结果为:')x=vpa(s)4. 求解一个代数方程组,写出M文件,应该包括函数式M文件和命令式M文件。
Matlab与数学建模综合练习(1)
《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)')。
数学建模题目2道 解答 matlab
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级对应的得分,联系条件控制语句)。
三峡大学数学建模matlab题目
1.在4×4的棋盘上安置4个皇后,要求任意两个皇后不在同一行、不在同一列、不在同一对角线上,输出所有的方案。
for i1=1:4 %i1.。
表示皇后的位置for i2=1:4for i3=1:4for i4=1:4hh=zeros(4,4);%用于模拟棋盘hh(1,i1)=1; % 1表示此处有皇后由于分列,所以不再同一列hh(2,i2)=1;hh(3,i3)=1;hh(4,i4)=1;if i1==i2 || i1==i3 || i1==i4 || i2==i3 || i2==i4 || i3==i4 % 判断是否在同一行continue;endif abs(i1-i2)==1 || abs(i1-i3)==2 || abs(i1-i4)==3 || abs(i2-i3)==1 || abs(i2-i4)==2 ...|| abs(i3-i4)==1 % 判断是否在一条对角线上continue;enddisp(hh);%打印棋盘,1为皇后endendendend2.问题描述:有形如下图所示的数塔,从顶部出发,在每一结点可以选择向左走或是向右走,一直走到底层,要求找出一条路径,使路径上的数值的和最接近零。
n=input('输入数塔的层数n(正整数n<=20) ');st=zeros(n);for i1=1:nfor j1=1:i1fprintf('输入第%d行第%d个数据(且数字的绝对值不超过1000000) ',i1,j1);st(i1,j1)=input(' ');endendsz=inf;ls=zeros(1,n(1)-1);lj=zeros(1,n(1)-1);for i1=0:2^n-1ss=st(1,1);for j1=1:n(1)-1ls(j1)=mod(i1,2);i1=floor(i1/2);endk=1;for j1=1:n(1)-1k=k+ls(j1);ss=ss+st(j1+1,k);endif ss<szsz=ss;lj=ls;endendfprintf(' %d ',st(1,1));for i1=1:n(1)-1if lj(i1)==1fprintf(' 向右选择');elsefprintf(' 向左选择');endfprintf('%3d ',st(i1+1));endfprintf(' 最终的最小值是%d \n',sz);3. 现有21根火柴,两人轮流取,每人每次可取走1- 4根,不可多取,也不能不取,谁取最后一根火柴则谁输。
Matlab与数学建模综合练习3
Matlab与数学建模综合练习31、画sin(6x)的图,x ∈[0,68×Pi];>> x=0:1:68*pi; >> plot(x,sin(6*x))2、画],0[],,0[),sin()sin(2Pi p Pi t p t ∈∈?的三维图; >> t=0:0.1:pi;p=t; >> [T,P]=meshgrid(t,p); >> Z=sin(T).*sin(P.^2); >> surf(T,P,Z)>> mesh(T,P,Z)3、画图]6,6[],6,6[,222-∈-∈+y x e y x 和]6,6[],6,6[),sin(22-∈-∈+y x y x ,并合并这两个图。
>> x=-6:0.3:6;y=x; >> [X,Y]=meshgrid(x,y); >> Z1=2.*exp(sqrt(X.^2+Y.^2)); >> surf(X,Y,Z1) >> hold on >> Z2=sin(sqrt(X.^2+Y.^2)); >> surf(X,Y,Z2)>> x=-6:0.3:6;y=x;>> [X,Y]=meshgrid(x,y);>> Z1=2.*exp(sqrt(X.^2+Y.^2)); >> mesh(X,Y,Z1)>> hold on>> Z2=sin(sqrt(X.^2+Y.^2)); >> mesh(X,Y,Z2)4、设=+=+32/)7(11x x x x n n n ,数列}{n x 是否收敛?若收敛,其值为多少?精确到6位有效数字。
5、设 ,131211p p p n nx ++++= }{n x 是否收敛?若收敛,其值为多少?精确到17位有效数字。
数学建模中30道经典MATLAB程序
编程1、编写一程序,要求输入五个整数,然后由小到大排序再输出。
%输入n个数,然后由小到大输出a=input('输入数据:')n=length(a); %输入数据的长度i=1;j=1; %赋初值for i=1:n %需要进行n次比较for j=2:n %与相邻的进行n-1次比较if a(j-1)>a(j)b=a(j-1);a(j-1)=a(j);a(j)=b; %比较前者是否比后者大,大的就互换endendendfprintf(' %d',a) ;2、将一个整型数组的元素按逆序重新存放(如原序为:8,6,5,4改为4,5,6,8)。
function lin5a=input('输入数据:')n=length(a);%求输入a的长度for i=1:n/2b=a(i);a(i)=a(n+1-i);a(n+1-i)=b;endfprintf(' %d',a)3、输入一个字符,如果是大写字母,则将其转换成小写并输出,若是小写,则直接输出;若是非字母字符则打印:‘datarror’.function xin2a=input('输入数据:','s')if a>=65&a<=90fprintf('shuchu is %c\n',a+32);elseif a>=97&a<=122fprintf('shuchu is %c\n',a);elsea='dataerror';fprintf('shuchu is %s',a);end4、输入一个整数,写一程序输出它是几位数。
function lin6a=input('输入数据:','s')n=length(a)%求输入a的长度b=n;fprintf('weishu %d',b);end5、写一程序求1!+2!+ (10)function wi=1;j=1;s=0; %赋初值while i<=10j=j*i;s=s+j;i=i+1;endfprintf('s is %d\n',s);6、从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+……(共n项)的和。
数学建模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π的和函数.。
MATLAB数学建模习题
MATLAB 数学建模习题1一、单项选择题(将选择答案写在答题纸上,每小题2分共20分)1.在MA TLAB 命令窗口中键入命令,Vname=prod(7:9)/prod(1:3),可计算组合数!6!3!939⨯=C ,如果省略了变量名Vname ,MA TLAB 表现计算结果将用下面的哪一变量名做缺省变量名A )ans ;B )pi ;C )NaN ;D )eps2.宝石切割问题中,石料左右长度、前后长度、上下高度分别为a 1、a 2、a 3,即a 1×a 2×a 3(cm 3),而精品尺寸为b 1×b 2×b 3(cm 3)。
操作时,同向切割连续两次再旋转刀具。
某一切割方案的切割面积依次为:2a 1a 2→ 2a 1b 3 → 2b 2b 3,则这一切割方案为A )左右→前后→上下;B )上下→前后→左右;C )前后→上下→左右;D )前后→ 左右→上下3.机场指挥塔位置:北纬30度35.343分,东经104度2.441分,在MA TLAB 中用变量B=[30 35.343]表达纬度,L=[104 2.441]表达经度。
将数据转化为以度为单位的实数,下面正确的语句是A ) P=B(1)+B(2)/60,Q=L(1)+L(2); B) P = 60*B(1) + B(2),Q=60*L(1)+L(2)C ) P = B(1) + B(2)/60,Q=L(1)+L(2)/60; D) P=B(1)+B(2),Q=L(1)+ L(2);。
4.用MA TLAB 随机产生60个1到365之间的正整数,应该使用下面的哪一条命令A ) fix(365*rand(1,60));B )1+fix(366*rand(1,60));C )1+fix(364*rand(1,60));D )1+fix(365*rand(1,60))5.用A 、B 、C 表示三角形的三条边,用MA TLAB 表示条件“任意两条边之和大于第三条边”的逻辑表达式应该用下面哪一行语句A ) A+B>C | A+C>B | B+C>A ; B ) A+B>=C | A+C>=B | B+C>=A ;C ) A+B>=C&A+C>=B&B+C>=A ;D ) A+B>C & A+C>B & B+C>A ;6.在MATLAB 命令窗口中,键入命令syms x ; y=int(6*x^4)。
数学建模培训作业(MATLAB编程部分)
数学建模培训作业 (MATLAB 编程部分)1. 请使用switch 语句将百分制的学生成绩转换为五级制的成绩输出。
2. 猜数游戏:首先由计算机随机产生一个 [1,100] 之间的一个整数,然后由用户猜测所产生的这个数。
根据用户猜测的情况给出不同的提示,如果猜测的数大于产生的数,则显示 “High” ,小于则显示 “ Low ” ,等于则显示 “You won !”,同时退出游戏。
用户最多有 7 次机会。
3. 使用for 结构计算1+2+3+…+100。
4. 设计一个九九乘法表。
5. 使用while 结构计算1+2+3+…+100。
6. 求1!+2!+ …+10!的值。
7. 编程生成三对角矩阵。
11000001110000000111000000011100000001110000000111000000011100000001110011轾犏犏犏犏犏犏犏犏犏犏犏犏犏犏犏犏犏臌8. 计算分段函数的值,要求根据不同的x 输入,给出相应的结果。
223135x x y x x ìï-ïïï+ïï=íï-ïïïï+ïî 110011x x x x ?-< ?>9. 已知111111(1)435721n n p -?+-++-- ,编程求 的近似值。
10.输入下面的矩阵12345678910111213141516A 轾犏犏犏=犏犏犏臌编程求该矩阵的对角线元素之和,并找出最大和最小元素的值以及其所在的行、列号。
11.求水仙花数。
如果一个三位数的个位数、十位数和百位数的立方和等于该数自身,则称该数为水仙花数。
编一程序求出所有的水仙花数。
12. 给定两个实数a 、b 和一个正整数n ,计算()k a b +和()k a b -,其中n k ,,2,1 。
数学建模(Matlab)
数学规划作业(MatLab)1、某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台.每季度的生产费用为 ()2f x ax bx=+(单位:元), 其中x 是该季度生产的台数.若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c 元.已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a =50、b =0.2、c =4,问:工厂应如何安排生产计划,才能既满足合同又使总费用最低.讨论a 、b 、c 变化对计划的影响,并作出合理的解释.解:问题的分析和假设: 分析:问题的关键在于由于工厂的生产能力足以满足每个季度用户的需求,但是为了使总费用最少,那么利用每个季度生产费用的不同,可用利用上个生产费用低的季度多生产来为下个季度进行准备,前提是本月节省下的费用减去总的发动机存储费用还有剩余,这样生产才有价值,才可能满足合同的同时又能使总费用最低。
基本假设:1工厂的生产能力不受外界环境因素影响。
2为使总费用最低,又能满足合同要求,各个季度之间的生产数量之间是有联系的。
3第一季度开始时无存货。
4工厂每季度的生关费用与本季度生产的发动机台数有关。
5生产要按定单的数量来进行,生产的数量应和订单的数量相同,以避免生产出无用的机器。
符号规定:X1―――第一季度生产发动机的数量 X2―――第二季度生产发动机的数量 X3―――第三季度生产发动机的数量 建模:1.三个季度发动机的总的生产量为180台。
2.每个季度的生产量和库存机器的数量之和要大于等于本季度的交货数量。
3.每个月的生产数量要符合工厂的生产能力。
4.将实际问题转化为非线性规划问题,建立非线性规划模型 目标函数min f(x)=50(x1+x2+x3)+0.2(x12+x22+x32)+4(x1-40)+4(x1+x2-100) 整理,得min f(x)=50(x1+x2+x3)+0.2(x12+x22+x32)+4(2x1+x2-140) 约束函数 s.t x1+x2≥100; x1+x2+x3=180; 40≤x1≤100; 0≤x2≤100;0≤x3≤100;求解的Matlab程序代码:M-文件 fun.m: function f=fun (x);f=50*(x(1)+x(2)+x(3))+0.2*(x(1)^2+x(2)^2+x(3)^2)+4*(2*x(1) +x(2)-140)主程序fxxgh.m:x0=[60;60;60];A=[-1 -1 0];b=[-100];Aeq=[1 1 1];beq=[180];vlb=[40;0;0];vub=[100;100;100];[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,vlb,vub)计算结果与问题分析讨论:计算结果:x = 50.000060.000070.0000fval = 11280问题分析讨论:由运算结果得:该厂第一季度、第二季度、第三季度的生产量分别是50台、60台和70台时,才能既满足合同又使总费用最低,费用最低为11280元。
4.建模作业_MATLAB(3)
《数学建模》课程作业题第七章MATLAB(3)1.MATLAB图形处理的高级技术都有哪些?颜色映像。
1)colormap函数进行调用颜色映像;2)Pcolor、rgbplot、colorbar等函数用户可以条用所定义的颜色映像为图形服务;3)pcolor一般与函数shading相结合,用于以不同方式为图形着色;4)Rgbplot是一种直接显示颜色的函数;5)第三个用来显示颜色映像最常用的函数是colorbar。
视角与光照。
1)视角控制函数view,viewmtx及rotate3D;2)光照控制函数lighting‘光源模式’;3)图像处理。
2.MATLAB图形处理的基本技术都有哪些?1)图像控制坐标控制:axis([xmin,xmax,ymin,ymax])平面坐标网格函数:grid on/grid off2)图形的标注①.坐标轴标注:xlabel(‘标注’,’属性’),ylabel,zlabel②.文本标注:text(x,y,’标注文本及控制字符串’)③.交互式文本标注:gtext④.图例标注:legend (‘标注1’,‘标注2’) 3)图形的保持与子图:hold on,hold off,subplot(m,n,p) 3.3. 编写如下问题的M 文件7.4.1绘制下列曲线.(1) 21100x y +=, 运行程序:clear; clc; x=0:0.1:1; y=100./(1+x.^2); plot(x,y);(2) 2221xe y -=π, 运行程序 clear;clc; x=0:0.01:1;y=(1/(2*pi))*exp(((-x.^2)/2)); plot(x,y);(3) 122=+y x ,ezplot('x^2+y^2=1')(4) ⎩⎨⎧==325ty t x . t=0:1:50; x=t.^2; y=t.^3; plot(x,y)title('参数方程 ');7.4.2绘制下列极坐标图.(1) 4cos 5+=θρ,clear; clc;x=0:0.01*pi:2*pi; y=5*cos(x)+4; polar(x,y)(2) θρ12=,clear; clc;x=0:0.01*pi:2*pi; y=12./sqrt(x); polar(x,y);(3) 7cos 5-=θρ, clear; clc;x=0:0.01*pi:2*pi; y=5./cos(x)-7; polar(x,y)(4) 23θπρ=.clear;clc;x=0:0.01*pi:2*pi; y=pi/3*x.^2; polar(x,y)7.4.3绘制下列三维图形.(1) ⎪⎩⎪⎨⎧===t z t y t x sin cos ,clear; clc;t=0:0.01*pi:2*pi; x=cos(t); y=sin(t); z=t;plot3(x,y,z)(2) ⎪⎩⎪⎨⎧=+=+=u z v u y v u x sin sin )cos 1(cos )cos 1(,u=0:pi/20:10*pi; v=0:pi/20:10*pi; x2=(1+cos(u)).*cos(v); y2=(1+cos(u)).*sin(v); z2=sin(u); plot3(x,y,z)(3) 5=z ,[x3,y3]=meshgrid(-100:100);%形成一个100×100的网格z3=5*ones(size(x3));%将Z与上面网格对应起来mesh(x3,y3,z3)(4) 半径为10的球面.x0=2;y0=3;z0=0;%球心r=10;%半径[x,y,z]=sphere;mesh(r*x+x0,r*y+y0,r*z+z0);axis equal7.4.4在同一图形窗口采用子图形式分别绘制正方形、圆、三角形和六边形.ord=[3 4 6 2^20] for i=1:4 subplot(2,2,i)theta=linspace(pi/ord(i),2*pi+pi/ord(i),ord(i)+1);%%圆等分点 plot(cos(theta),sin(theta));xlim(1.5*[-1,1]);ylim(1.5*[-1,1]);axis equal ; end7.4.5分别用plot 和fplot 函数绘制下列分段函数的曲线:⎪⎩⎪⎨⎧<--+=>+++=0 ,510 ,00 ,51)(342x x x x x x x x ffunction y=work414(x) y=[];%定义空矩阵 for i = x if i > 0y = [y, i^2+(1+i)^0.25+5]; %将算出值与矩阵y 结合形成新矩阵y elseif i == 0 y = [y, 0]; elsey = [y, i^3+sqrt(1-i)-5]; end end endclearclcx=-10:0.5:10;y=work414(x);subplot(2, 1, 1);plot(x,y)grid on; title('plot');subplot(2, 1, 2);fplot(@(x)work414(x),[-5,5])grid on; title('fplot');7.4.6某工厂2005年度各季度产值(单位:万元)分别为:450.6、395.9、410.2、450.9,试绘制折线图和柄状图,并说明图形的实际意义.subplot(1, 1, 1); clear; clc;x = 1 : 4;y = [450.6, 395.9, 410.2, 450.9];subplot(1, 2, 1);plot(x, y);title('折线图-四个季度产值变化'); xlabel('第i个季度'); ylabel('产值/万元'); grid on; axis([0, 5, 360, 480]);subplot(1, 2, 2);pie(y);title('饼图-每个季度占总产值的百分比');意义:第一季度与第四季度产值高,二三季度产值偏低7.4.7绘制一个长方形,将长方形3等份,每等份分别着不同的颜色.vert = [0, 0; 1, 0; 2, 0; 3, 0; 3, 1; 2, 1; 1, 1; 0, 1]; %画最大长方形fac = [1, 8, 7, 2; 2, 7, 6, 3; 3, 6, 5, 4];%区域涂色分割mc = jet(3);patch('Vertices', vert, 'Faces', fac, 'FaceVertexCData', mc, 'FaceColor', 'flat'); %着色函数7.4.8生成一个长方体,每小面着不同颜色,并进行光照和材质处理.clear;clc;vert = [0, 0, 0; 1, 0, 0; 1, 1, 0; 0, 1, 0; 0, 0, 1; 1, 0, 1; 1, 1, 1; 0, 1, 1];fac = [1, 5, 6, 2; 2, 6, 7, 3; 3, 7, 8, 4; 4, 8, 5, 1; 1, 4, 3, 2;5, 8, 7, 6];mc = jet(6);patch('Vertices', vert, 'Faces', fac, 'FaceVertexCData', mc,'FaceColor', 'Flat'); % 顶点集,小面上定点axis([-0.5, 2.5, -0.5, 2.5, -0.5, 2.5]); grid on; axis square;xlabel('x-axis'); ylabel('y-axis'); zlabel('z-axis');title('方块');light('Color', 'b', 'Style', 'local', 'Position', [1, 1, 1]);lighting flat; % 均匀入射光material shiny; % 镜面反射光hold on;plot3(2, 2, 2, 'p'); text(2, 2, 2, 'light');hold off7.4.9气象变换情况的可视化:下表是气象学家测量得到的气象数据,它们分别表示在南半球地区按不同纬度、不同月份的平均气旋数字,根据这些数据,绘制出气旋分布曲面图,并计算2月份在纬度11度处的气旋值.南半球气旋数据表clear;clc;x=1:12;y=5:10:85;z=[2.4 1.6 2.4 3.2 1.0 0.5 0.4 0.2 0.5 0.8 2.4 3.6 ;18.7 21.4 16.2 9.2 2.8 1.7 1.4 2.4 5.8 9.2 10.3 16;20.8 18.5 18.2 16.6 12.9 10.1 8.3 11.2 12.5 21.1 23.9 25.5;22.1 20.1 20.5 25.1 29.2 32.6 33.0 31.0 28.6 32.0 28.1 25.6;37.3 28.8 27.8 37.2 40.3 41.7 46.2 39.9 35.9 40.3 38.2 43.4;48.2 36.6 35.5 40 37.6 35.4 35 34.7 35.7 39.5 40 41.9;25.6 24.2 25.5 24.6 21.1 22.2 20.2 21.2 22.6 28.5 25.3 24.3;5.3 5.3 5.4 4.9 4.9 7.1 5.3 7.3 7 8.66.3 6.6;0.3 0 0 0.3 0 0 0.1 0.2 0.3 0 0.1 0.3];[xi,yi]=meshgrid(1:12,5:1:85);zi=interp2(x,y,z,xi,yi,'cubic');z=interp2(x,y,z,2,11,'cubic')mesh(xi,yi,zi)hold on;plot3(2,11,z,'*r')xlabel('月份'),ylabel('纬度'),zlabel('气旋'),axis([0 12 0 90 0 50])title('南半球气旋可视化图形')红点表示2月份在纬度11度处的气旋值z =16.2040。
数学建模:MatLab实验(解答)
MatLab 实验一、编写函数文件,给出求解席位问题的Q 值方法对应的MatLab 方法,输入的参数为总席位数及各单位的人数. (程序:qf.m )二、编写函数文件,计算矩阵正常意义下的乘积,在矩阵阶数不匹配的时候,返回错误信息. (用循环方式) (程序:lx2.m )三、编写脚本文件,用数据模拟方法近似计算椭圆周22123x y +=所围成的面积,要求总共模拟一千次,每次抽取50万个随机点,最后以平均值作为相应的面积近似值. (程序:lx3.m )四、利用二重积分计算椭球面2221946x y z ++=的面积. 曲面积分的参数积分形式:若曲面能表示成:()()(),,,,,x x u v y y u v z z u v ===确定,则相应的积分为()()()(),d ,,,,,d .uvD f x y S f x u v y u v z u v u v ∑=⎡⎣⎰⎰⎰⎰ 其中222222,,.u u u v v v u v u v u v E x y x G x y x F x x y y z z =++=++=++对该问题,做变换:()()3cos sin ,2sin sin ,sqrt 6cos ,02π,0πx u v y y v z v u v ===≤≤≤≤,代入上式后得积分值79.6432. (程序:lx4.m )五、用两种方法求解微分方程1,0x xy x y y ='=-⎧⎪⎨=⎪⎩并作出函数在区间[]0.1,3内的图形.(程序:lx5.m )注 该微分方程的解析解为:11.22y x x=-六、用两种方法求解微分方程()0cos 2,1,00x y x y y y =''=-⎧⎪⎨'==⎪⎩并作出函数在区间[]2π,2π-内的图形.注 该微分方程的解析解为:41cos cos2.33x x -七、用两种方法求解微分方程02/,1x y y x y y ='=-⎧⎪⎨=⎪⎩并作出函数在区间[]0,4内的图形,并对图形作比较.八、编写函数文件,输入参数为矩阵的阶数,要求生成一个元素介于1090的随机整数矩阵,找出其中既是3又是5的元素,将其行标和列标分别写人两个向量中,并求出这些元素的和,平均值及个数,存入到变量中,最后输出.,若没有这样的元素存在,显示“no such elements founded!” (程序Lx8.m )九、追踪问题缉私雷达发现: 距离c 处有一走私船正一匀速a 沿直线行驶, 缉私船立即以最大速度(匀速v )追赶, 若用雷达进行跟踪, 保持船的瞬时速度方向始终指向走私船, 则缉私船的运动轨迹如何? 是否能追上走私船? 如果能追上, 需要多长时间? (取20,40,15a v c ===) (程序Chasing.m )问题的进一步探讨若走私船与x 轴的夹角为,θ则问题将如何十、用数据模拟的方法计算两球()2222221,11x y z x y z ++≤++-≤相交的体积。
数学建模Matlab实验程序
Matlab实验作业及答案作业1:建立函数M文件2.建立下面函数的M文件,并求f(x)值.(1)f(x)=log(x1+x22),x=(1,2)(2)f(x)=sin(x2)+exp(2x3),x=2(1)function f = fun1(x1,x2)f = log(x1 +x2^2);end(2)function f = fun2( x)f = sin(x^2) + exp(2*x^3);end3.试编写同时求sin(x),cos(x),exp(x),abs(x)的M函数文件.function f = fun3(x)f = [sin(x) cos(x) exp(x) abs(x)];end4.建立符号函数的M文件:当输入的变量为负数时,返回值-1;当输入的变量为正数时,返回值1;而输入0时,返回值0.function f = fun4(x)if x>0f = 1;else if x == 0f = 0;elsef = -1;endendend5.建立函数 的M 文件。
function f = fun5(x)if x>0f = exp(x-1);elsef = x^2;endend6.通过帮助系统查询roots,poly,polyval,poly2str 的用法,用这些命令解下面的问题:已知一多项式的零点为{-1,1,2,3},写出该多项式,并且计算多项式在点x=2.5处的值。
root = [-1 1 2 3];p = poly(root);x = 2.5;a = polyval(p,x);eig(a)计算多项式y=x 3-3x+2的零点P = [1 0 -3 2];a = company(p); eig(a)7.查询sum,length 的用法,建立一个求向量的平均值的M 文件a = [1 2 3 4];b = sum(a);⎪⎩⎪⎨⎧≤>=-0,0,21x x x e f xc = length(a);d = b/c;eig(d)8.查询input,disp 的用法,建立M 文件:输入x,y 的值将其互换后输出x = input('x=');y = input('y=');disp ([x,y]);t=x;x=y;y=t;disp ([x,y]);作业题2:MATLAB 矩阵的处理1. 创建矩阵A = [1 2 -1 3 5;1 -2 9 0 -6;-3 3 -4 7 1;9 8 0 7 6];disp(A);2.取A 的1,2行与2,3列的交叉元素作子矩阵A1.A([1,2],[2,3])3.取A 的1,3行,然后按行形成矩阵A2A2 = A([1,3],:);4.逆序提取A 的1,2,3行,形成列矩阵A3.A3 = [A(3,:) A(2,:) A(1,:)]’;(“’”为转置符号)5.取A2的绝对值大于3的元素构成向量A4.A4 = find(A>3);6.求出A 的最大值a 及其所处的位置. 12135129063347198076A -⎛⎫ ⎪-- ⎪= ⎪-- ⎪⎝⎭a = max(max(A));[row col v] = find(a);disp([row col v]);7、设用三种方法(克拉姆法则、矩阵的除法、逆矩阵)解方程组AX=bA = [10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10];b = [32;23;33;31];逆矩阵法:x = inv(A)*b;disp(x);矩阵的除法x =A\b;克拉姆法则for n=1:4B = A;B(:,n) = b;x(n) = det(B)/det(A);enddisp(x);作业题3:Matlab 语法控制结构的使用(1) 用起泡法对10个数由小到大排序.即将相邻两个数比较,将小的调到前头.a = [0 9 7 8 6 5 4 3 2 1];1078775658610975910A ⎛⎫ ⎪ ⎪= ⎪ ⎪⎝⎭32233331b ⎛⎫ ⎪ ⎪= ⎪ ⎪⎝⎭n = length(a);for i = 1:nfor j = 1:n-iif a(j)>a(j+1)t = a(j);a(j) = a(j+1);a(j+1) = t;endendenddisp(a)(2) 取任意数组,如[8 9 11 -9 0 2 -82 42 3 5]等的绝对值大于数3的元素构成向量(编程实现).a = [8 9 11 -9 0 2 -82 42 3 5];a = abs(a);b = find(a>3);a1 = a(b);disp(a1);(3)一球从h (比如100米)高度自由落下,每次落地后反跳回原高度的一半,再落下. 求它在第10次落地时,共经过多少米?第10次反弹有多高?h = 100;for i = 1:10h = h/2;enddisp(h) (4)有一函数 写一程序,输入自变量的值,输出函数值.function fun34 = f(x,y)x = input('x=');y = input('y=');if x < 2f = x+1;elseif x >= 2 &&x <= 8f = 3*x;elseif x>8 && x<=20f = 4*x -5;elseif x>201,23,28(,)45,820cos()sin(),20x x x x f x y x x x x x +<⎧⎪≤≤⎪=⎨-<≤⎪⎪+>⎩f = cos(x)+sin(x);enddisp(f);end(5)从1到多少的自然数的和小于或等于1000,此时的和是多少?sum = 0;n = 1;while sum <= 1000sum = sum+n;n = n+1;enddisp(n - 1);disp(sum -n );(6) 已知 当m=100时,求y 的值。
数学建模 Matlab编程练习2
第2章 MATLAB 矩阵运算基础2.1 在MATLAB 中如何建立矩阵⎥⎦⎤⎢⎣⎡194375,并将其赋予变量a ? 2.5 计算矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡897473535与⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡638976242之和。
2.6 求⎥⎦⎤⎢⎣⎡+−+−+−+−++=i 44i 93i 49i 67i23i 57i41i 72i 53i 84x 的共轭转置。
2.7 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
2.8 “左除”与“右除”有什么区别?2.9 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
2.10 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
2.11 ⎥⎦⎤⎢⎣⎡−=463521a ,⎥⎦⎤⎢⎣⎡−=263478b ,观察a 与b 之间的六种关系运算的结果。
2.12 []7.0802.05−−=a ,在进行逻辑运算时,a 相当于什么样的逻辑量。
2.14 角度[]604530=x ,求x 的正弦、余弦、正切和余切。
2.15 用四舍五入的方法将数组[2.4568 6.39823.9375 8.5042]取整。
2.16 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=728365219a ,分别对a 进行特征值分解、奇异值分解、LU 分解、QR 分解及Chollesky 分解。
2.17 将矩阵⎥⎦⎤⎢⎣⎡=5724a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4×3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574 (2)按照a 、b 、c 的列顺序组合成一个行矢量,即[]296531877254第3章 数值计算基础3.2 求解多项式x 3-7x 2+2x +40的根。
数学建模Matlab上机实训题目
数学建模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的列。
二、绘图: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的阶乘。
9*.将任意偶数m写成两个素数p1、p2的和(试着写出所有的m=p1+p2的可能形式)。
10*.是否任意3的倍数m可以写成两个素数p1、p2、p3的和(试着写出所有的m=p1+p2+p3 的可能形式)?四、数据处理与拟合初步:分别采用y=c1+c2e^(-t)和y=d1+d2te^(-t)进行拟合,并画出拟合曲线进行对比。
12.计算下列定积分:13.微分方程组当t=0时,x1(0)=1,x2(0)=-0.5,求微分方程t在[0,25]上的解,并画出相空间轨道图像。
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进行拟合,并计算均方误差、画出拟合效果图进行比较。
15.V an der Pol(范德堡)方程是典型的二阶非线性方程之一:y”-u(1-y^2)y’+y=0,y(0)=2,y‘(0)=0;其中u>0为标量。
MATLAB数学建模大作业
******大学本科实验报告课程名称:****建模与仿真设计专题:单服务员的排队模型学生姓名:***学号:**********2012年04月30日一、实验题目和要求实验题目:在某商店有一个售货员,顾客陆续来到,售货员逐个地接待顾客。
当到来的顾客较多时,一部分顾客便须排队等待,被接待后的顾客便离开商店。
设:a.顾客到来间隔时间服从参数为5分钟的指数分布;b.对顾客的服务时间服从[3,12]上的均匀分布;c.排队按先到先服务规则,队长无限制,并假定一个工作日为8小时,时间以分钟为单位。
要求:1)模拟1个工作日内完成服务的个数及顾客平均等待时间t。
2)模拟10个工作日,求出平均每日完成服务的个数及每日顾客的平均等待时间3)用柱状图画出10个工作日的平均每日完成的服务个数及每日顾客的平均等待时间。
二、程序结构图(或功能说明)文件夹中的m文件在j取1时模拟单工作日的服务情况,j取1到10时模拟10个工作日的服务情况。
三、程序流程图四、程序运行结果及说明1.j=1到10,即10个工作日的服务情况:2.j=1,即单工作日的服务情况:五、源程序清单clear,clc;sMeanM=[];sIM=[];%模拟10个工作日(for j=1:10)for j=1:10 %求一天的话令j=1TjM=[];TfM=[];sTj=0;%构造单个工作日的排队系列while (sTj<=480)while (sTj<=480)Tjp=exprnd(0.2);Tfp=unifrnd(3,12);TjM=[TjM;Tjp];%通过指数分布随机数发生器构造顾客间隔时间序列(TjM)TfM=[TfM;Tfp];%通过均匀分布随机数发生器构造顾客所需服务时间序列(TfM)sTj=sTj+Tjp;endn=length(TjM);s=0;sM=[];T=[];%模拟该工作日内服务员接待顾客(for i=1:n-1)for i=1:n-1t=sum(TjM(1:i,1))+s+TfM(i);%计算第i个顾客离开时的时刻ts=(t-sum(TjM(1:(i+1),1)))*((t-sum(TjM(1:(i+1),1)) )>0);%计算第i+1个顾客的等待时间s%如果时刻t>480,记录i值,跳出循环if t>480sI=i;breakelse%记录第i+1个顾客等待时间s值,和第i个顾客离开时刻tT=[T;t];sM=[sM;s];endend%记算该工作日顾客平均等待时间sMean值sMean=mean([0;sM]);%记录每个工作日顾客平均等待时间序列sMeanMsMeanM=[sMeanM;sMean]%记录服务员接待顾客数目序列sIMsIM=[sIM;sI]end%记算平均每天完成服务的个数和每日顾客的平均等待时间j=1:1:10;bar(sIM);title('平均每天完成服务人数');figure;bar(sMeanM);title('平均每天等待时间')六、对本课程的几点建议1.希望老师能够多提供一些MATLAB的典型例题让同学进行尝试,增强同学们的动手操作能力。
数学建模matlab作业
数统应数20121323003 王妍数统应数20121323022 胡可旺1 生成5阶矩阵,使其元素满足均值为1,方差为4的正态分布;代码:y=1+sqrt(4)*randn(5)结果:2,生成一个20行5列矩阵A,其元素分别以概率0.7、0.1、0.2取自0、1、4这三个整数,然后将“删除A的全零行”之后的结果赋给矩阵B;for i = 1:20for j = 1:5p = rand();if p<=0.7A(i,j) = 0;elseif p>0.7&&p<=0.8A(i,j) = 1;elseA(i,j) = 4;endendendB = [];for i = 1:20flag = true;for j = 1:5if A(i,j)~=0flag=false;break;endendif ~flagB = [B;A(i,:)];endendB3, (函数文件)对于输入的正整数,判断其是否为素数function [ output_args ] = u3( n )%U3 Summary of this function goes here% Detailed explanation goes herey=1;for i=2:1:sqrt(n)if rem(n,i)==0y=0;breakendendif(y==1)fprintf('是素数')elsefprintf('不是素数')end4,(函数文件)对于输入的正整数,求出其中0的个数;function [ i ] = u4( n )%U4 Summary of this function goes here% Detailed explanation goes herei=0;while n/10~=0if rem(n,10)==0i=i+1;endn=fix(n/10);end5,(函数文件)有n个人围成一圈,按序列编号。
matlab文件数学建模作业.docx
1.1(1)代码:syms x;m=433;limit((m*x-sin(m*x))/(x A3),^0) 结果:ans=81182737/6(2 )代码:syms x;m=433;limit((m*x-sin(m*x))/(x A3)/x/Inf) 结果:ans=01.2代码:syms x;m=433;y=exp(x)*cos(m*x/1000);diff(y,x,2)结果:(812511*cos((433*x)/1000)*exp(x))/1000000 - (433*sin((433*x)/1000)*exp(x))/5001.3代码:dblquad(,exp(x.*x+y.*y)'/0/l/0/l)结果:ans = 2.13941.4代码:syms x;m=433;i nt(x A4/(m A 2+4*x*x),x)结東:(81182737*atan((2*x)/433))/32 - (187489*x)/16 + x A3/121.5代码:syms x;m=433;diff(exp(x)*cos(m*x)/10)结果:-C231619285105554448813874688*cos(433*x)*exp(x) - 5350116883610368850333216*sin(433*x)*exp(x) 1.6代码:syms x;m=433;simple(taylor(sqrt(m/1000.0+x)/x/0/,Order,/5))结果:4330A(1/2)*(- (390625000*x A4)/35152125121 + (625000*x A3)/81182737 ・(1250*x A2)/187489 + (5*x)/433 + 1/100)1.7代码:n二2;A二g];while n<20;A(n+1)=A(n)+A(n-l);n=n+l;end;fprintf(,A=(,);for i = l:size(A/2);fprintf( %u,/A(i));if(i~=size(A/2)) fprintf(7);end;end;fprintfC)1);结果:0.24250.97011.8f.mfunction y 二f(x)if(x>=0 && x<=0.5);y=2*x; elseif(x>0.5 && x< = l);y=2*(l-x); else;y=NaN;e nd;1.10 代码:t=0:0.01*pi:6*pi;plot3(cos(t)z sinm/jhold on;grid on;plot3(2*cos(t)/2*sin(t)/t/k ,);1.11 代码:m=433;A=[4r 2/2;-3A5;l /5*m /3]; B=[l /3A-2/0/-3;2r l /l];det(A)/2*A-B /A*B /A.*B /A*B A (-l)/ inv(A)*B /A A 2/A ,⑴x=-3:0.1:3;m=433;a = m/600;f=@(x,a,b) l/sqrt(2*pi)/a*exp(-(x-b).A2./(2*a*a)); plot(x ,f(xaO»;hold on; plot&,f&a-i));hold on; plot (x,f (xai));⑵x 二二 433;f=@(x /a /b) l/sqrt(2*pi)/a*exp(-(x-b).A2./(2*a*a)); plot(x,f(x,l,0));hold on; plot(x,f&20»;hold on; plot(x,f(xAO));hold on;p I ot(x,f (x, m/100r 0));1.13m=433;ezmesh('433*x.*x+y A 4,,30); coIorm 叩([OQlj);4 9 108361.14绘图m=433;x=-2:0.01:2;y=x.A 5-m/200*x-0.1;plot(x,y);grid on;求根vpa(solve(y),3)得根为:1.22,-0.0462,-1.2求单调区间:vpa(solve(diff(y))z3)得:0.811,-0.811根据图象:单调增区间为(・8 , -0.811)4 0.811, +8 )单调减区间为:(-0.811A811)推理:当x<-0.811是"的导数大于0 ,故递增;-0.811<x<0.811时,y的导数小于0 ,故递减;x>0.811时,y的导数大于0 ,故递增。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x=[-3:.1:3]; %确定x的值
y1=2.*x+5;
y2=x.^2-3.*x+1;
subplot(1,2,1); %建立二个窗口,并在第一个编辑
plot(x,y1);
axis([-4 4 -5 20]); %划定坐标范围
subplot(1,2,2); %建立二个窗口,并在第一个编辑
plot(x,y2);
axis([-4 4 -5 20]); %可省略,因为坐标范围就是以第二幅图为准的程序效果图:
x=[190 33 45 42 45];
explode = [0 1 0 0 0]; %输入分离切面向量
pie(x,explode,{'生活费','资料费','电话费','购买衣服费','其它费用'}); %绘图程序效果图:
第三题代码:(这一题我是按照点乘来做的,而且精度调的比较大,如果是按矩阵做,只需要把z的表达式一改就行了)
[x,y]=meshgrid(-5:.01:5); %x的精度为0.01
z=x.^2+y.^2+sin(x.*y);
meshc(x,y,z) %绘制等高图
执行效果图:
第四题代码:
x=0:pi/5:4*pi;
y=sin(x).*exp(-x/10);
xx=0:.1:4*pi; %取间隔为0.1
yy=spline(x,y,xx) %三次样条插值
plot(x,y,'o',xx,yy) %绘图,并用’o’标记执行效果图:。