MATLAB数学建模大作业

合集下载

数学建模Matlab练习4

数学建模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)

《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

数学建模题目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作业

数学建模Matlab作业

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’标记执行效果图:。

数学建模作业题+答案

数学建模作业题+答案

数学建模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作业

数学建模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个人围成一圈,按序列编号。

数学建模(合)大作业

数学建模(合)大作业

学生实验报告实验时间:2017 学年第 2 学期专业班级:信息与计算科学1502班____ (学号):庞云杰(20155653)_______2017年 03月21日实验名称实验一:用MATLAB求解线性规划问题实验地点信息楼121 实验日期2017.03.21学时2一、实验目的1.了解线性规划的基本容2.熟悉MATLAB软件求解线性规划问题的基本命令3.学习灵敏分析问题的思维方法二、实验容三、实验作业P226,1和3任选一1.问题分析:确定种植最佳土地分配,即每种等级耕地分别种植水稻、大豆、玉米的面积2.模型建立:1)令分别为I II III三等耕地上种植的水稻面积,令分别为III III三等耕地上种植的大豆面积,令分别为I II III三等耕地上种植的玉米面积且令为xi(1<=i<=9)面积的耕地上的产量为ci.2)目标函数:总产量最大,即max=3)约束条件非负条件:最低产量限制:耕地面积恒定:综上数学模型为:在MATLAB中调试>>clc>>c=[11 9.5 9 8 6.8 6 14 12 10];A=[-11 -9.5 -9 0 0 0 0 0 00 0 0 -8 -6.8 -6 0 0 00 0 0 0 0 0 -14 -12 -10];b=[-190;-130;-350];F=[1 0 0 1 0 0 1 0 00 1 0 0 1 0 0 1 00 0 1 0 0 1 0 0 1];>>FF=[100;300;200];>>G=[0;0;0;0;0;0;0;0;0];>>GG=[];>> [x,fval]=linprog(c,A,b,F,FF,G,GG) Optimization terminated.x =17.27270.000082.7273300.0000165.00000.00000.000035.0000fval =4.2318e+003即:值分别17.27270.00.082.7273300.0165.00.00..0,此时才能使总产量最大。

数学建模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π的和函数.。

Matlab大作业

Matlab大作业

题目:生日蛋糕问题:一个数学家即将迎来他90岁的生日,有许多学生要来为他祝寿,所以需要订做一个特大的蛋糕。

为了纪念他的一项重要成果――口腔医学的悬链线模型,他的弟子要求蛋糕店的老板将蛋糕边缘圆盘半径作成下列悬链线函数:2(exp(2)exp(2))/5r h h =-+-,01h <<(单位:m)由于蛋糕店从来没有作过这么大的蛋糕,蛋糕店老板必需计算一下成本。

这主要涉及两个问题的计算:一个是蛋糕的体积,由此可以确定需要多少鸡蛋和面料;另一个是蛋糕的表面积(底面除外),由此确定需要多少奶油。

建立模型:在蛋糕表面建立如图直角坐标系,蛋糕的底面积为S ,周长为C ,则dS 底= 12r d θ,dC=r d θ,从而表面积S=2⨯S 底+C ⨯H体积V=S 底⨯Hθ1.用Matlab程序画蛋糕边缘圆盘半径的图像程序:t=0:pi/50:2*pi;h=t/(2*pi);r=2-(exp(2*h)+exp(-2*h))/5;x=r.*cos(t);y=r.*sin(t);plot(x,y)图像(运行结果):2.计算底面积S底程序:h=t/(2*pi);r=2-(exp(2*h)+exp(-2*h))/5;syms tf=1/2*r.^2;int(f,t,0,2*pi)运行结果:(pi*(sinh(4) - 40*sinh(2) + 204))/50即S底=(pi*(sinh(4) - 40*sinh(2) + 204))/503.计算周长C程序:h=t/(2*pi);r=2-(exp(2*h)+exp(-2*h))/5;syms tint(r,t,0,2*pi)运行结果:-(2*pi*(sinh(2) - 10))/5即C=(10-2*pi*(sinh(2)))/5表面积S=2⨯S底+C⨯H=2⨯(pi*(sinh(4) - 40*sinh(2) + 204))/50+(10-2*pi*(sinh(2)))/5⨯H体积V=S底⨯H=(pi*(sinh(4) - 40*sinh(2) + 204))/50⨯H。

MATLAB数学建模习题

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大作业例子

Matlab作业题目1:(1)程序部分:>> x=0:pi/50:2*pi;>> y=cos(0.5+((3*sin(x))./(1+x.^2))); >> plot(x,y)>> xlabel('x');>> ylabel('y');>> title('x-y');(2)运行结果截图:(1)程序部分:>> clear>> clc>> x=0:pi/100:4*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,'r-',x,y2,'g:') >> hold on>> y3=x(find(abs(y1-y2)<0.001)); >> plot(y3,sin(y3),'*')(2)运行结果截图:(1)程序部分:>> t=(0:2*pi/100:2*pi)'; >> y1=sin(t)*[1,-1]; >> y2=sin(t).*sin(9*t); >> subplot(2,1,1);>> plot(t,[y1,y2]);>> subplot(2,1,2);>> plot(t,[y1,y2]) (2)运行结果截图:题目4(1)程序部分:>> t=0:pi/50:4*pi;>> y=exp(-t/3);>> y0=exp(-t/3).*sin(3*t); >> plot(t,y,'r-',t,y0,'b:') >> xlabel('\bf\it t')>> ylabel('\bf\it y')>> grid on;(2)运行结果截图:题目5(1)程序部分:>> n=0;>> sum=0;>> while sum<2000n=n+1;sum=sum+n;end>> n(2)运行结果截图:题目6(1)程序部分:for j=1:3n=input('n='); sum=0;for i=1:na=1/(i.^2);sum=sum+a;endPI=sqrt(6*sum) end(2)运行结果截图:题目7(1)程序部分:n0=0;y0=0;while 3*y0<5n0=n0+1;y0=y0+1/(2*n0-1);y=y0-1/(2*n0-1);n=n0-1;endn(2)运行结果截图:题目8(1)程序部分:for i=1:7x=input('put x:');if x<0&x~-3y=x^2+x-6;elseif x>=0&x<5&x~=3&x~=2 y=x*x-5*x+6;elsey=x*x-x-1;endend(2)运行结果截图:题目9①switch语句(1)程序部分:>> score=input('请输入成绩'); switch fix(score/10)case {9,10}disp('A');case {8}disp('B');case {7}disp('C');case {6}disp('D');case {0,5}disp('E');otherwisedisp('error');end(2)运行结果截图:如右图②if语句(1)程序部分:score=input('请输入成绩:') n=score/10;if n>=9&n<10disp Aelseif n>=8&n<9disp Belseif n>=7&n<8disp Celseif n>=6&n<7disp Delseif n>=0&n<6disp Eelsedisp errorend(2)运行结果截图:题目10(1)程序部分:t=input('员工的工作时间:')if t<60m=84*t-700;elseif t>120m=84*(t-120)*1.15+84*120;elsem=84*t;endm2)运行结果截图:题目11(1)程序部分:a=round(20*rand(5,6))n=input('请输入n的值:') tryb=a(n,:);catchb=a(5,:);endblasterr(2)运行结果截图:。

数学建模(Matlab)

数学建模(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元。

MATLAB数学建模14个范例

MATLAB数学建模14个范例

1.整数规划的蒙特卡洛解法2015-06-10 (2)2. 罚函数法 2015-06-11 (3)3. 层次分析 2015-06-12 (4)4. 粒子群优化算法的寻优算法--非线性函数极值寻优 2015-06-13 (5)5有约束函数极值APSO寻优 2015-06-14 (12)6.模拟退火算法 TSP问题2015-06-15 (17)7. 右端步连续微分方程求解2015-06-16 (19)8. 多元方差分析 2015-06-17 (22)9. 基于MIV的神经网络变量筛选 2015-06-18 (25)10. RBF网络的回归--非线性函数回归的实现 2015-06-19 (29)11. 极限学习机在回归拟合中的应用 2015-06-20 (32)12. 极限学习机在分类中的应用 2015-06-21 (34)13. 基于PSO改进策略 2015-06-22 (37)14. 神经网络遗传算法函数极值寻优 2015-06-23 (46)1.1.整数规划的蒙特卡洛解法2015-06-10 已知非线性整数规划为:⎪⎪⎪⎩⎪⎪⎪⎨⎧≤++≤++≤++++≤++++=≤≤-----++++=200520062800622400)5,....,1(9902328243max 54233216432154321543212524232221x x x x x x x x x x x x x x x x i x x x x x x x x x x x z i如果用显枚举试探,共需要计算100^5=10^10个点,其计算量非常大。

然而应用蒙特卡洛去随机模拟计算10^6个点,便可以找到满意解,那么这种方法的可信度究竟怎么样呢? 下面就分析随机采样10^6个点计算时,应用概率理论估计下可信度。

不是一般性,假设一个整数规划的最优点不是孤立的奇点。

假设目标函数落在高值区的概率分别为0.01,0.00001,则当计算10^6个点后,有任一个点落在高值区的概率分别为:1-0.99^1000000=0.99...99(100多位) 1-0.99999^1000000=0.999954602解 (1)首先编写M 文件 mengte.m 定义目标函数f 和约束向量g,程序如下:function [f,g]=mengte(x);f=x(1)^2+x(2)^2+3*x(3)^2+4*x(4)^2+2*x(5)-8*x(1)-2*x(2)-3*x(3)-... x(4)-2*x(5); g=[sum(x)-400x(1)+2*x(2)+2*x(3)+x(4)+6*x(5)-800 2*x(1)+x(2)+6*x(3)-200 x(3)*x(3)+x(4)+5*x(5)-200];(2)编写M 文件mainint.m 如下求问题的解: rand('state',sum(clock)); p0=0; ticfor i=1:10^5x=99*rand(5,1);x1=floor(x);%向下取整 x2=ceil(x);%向上取整 [f,g]=mengte(x1); if sum(g<=0)==4 if p0<=f x0=x1; p0=f; end end[f,g]=mengte(x2); if sum(g<=0)==4 if p0<=fx0=x2; p0=f; end end end x0,p0Matlab 求解整数规划祥见第二章(优秀教材)2.罚函数法 2015-06-11利用罚函数法,可将非线性规划问题的求解,转化为求解一系列无约束极值问题,因而也称这种方法为系列无约束最小化技术,简记为SUMT 。

数学建模Matlab实验程序

数学建模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)

Matlab大作业(2)

Matlab 大作业(2)(组内成员:彭超杰、南彦东、江明伟)一、研究模型(电车)通过控制油门(保持一定角度)来调节电动机能输出稳定的转速,从而控制车速稳定。

数学依据说明如下:由图可知存在以下关系:a d a a u w k R i dt di L =++ (w k e d d =) L M M dt dw J -=a m i k M =La m M i k dt dwJ -=d k 为反电势常数,m k 为电动机电磁力矩常数,这里忽略阻尼力矩。

二、数学模型再看整个研究对象,示意图以课本为依据,不同点是这里将数控的进给运动,转换为汽车行驶所需要的扭矩。

(这里不说明扭矩的具体产生过程,仅仅说明输出车轮旋转的角速度w)对照课本不同,() s θ变为()s N ,1221z z w w =,1w 为电动机的转速,2w 为轮胎的转速,1z 为电动机的光轴齿轮的齿数,2z 为与轮胎相连光轴的齿轮齿数。

)(*10110w x w k x ==,121z z k = ()c a m m d b a m x K K K k s k k JRs JLs K K K k s G i 1231+++= ()c a m m d M K K K k s k k JRs JLs R Ls K s G L 1231)(++++-= 同理,忽略电枢绕组的电感L ,简化系统传递函数方框图如下()JRK K K k JR s k k s JR K K K k s G ca m m d ba m x i 121++= ()JR K K K k JR s k k s K K K K k s k k Rs R K s G ca m m d c a m m d M L 121121++-=++-=三、系统分析1.分析时间响应其传递函数如下:(1)系统时间响应令τ=0、τ=0.0125、τ=0.025,应用impulse函数,可得到系统单位脉冲响应;应用step函数,可得系统单位跃阶响应。

上海电院Matlab大作业

上海电院Matlab大作业

1、编写Matlab函数命令M文件,完成下列功能,要求程序语句尽可能简洁:(1)函数输入参数为正整数n,要求3<n<10,如果输入的参数不符合3<n<10,则给出提示。

(2)生成n阶随机矩阵A;(3)生成n阶矩阵B,B的每个元素是对应位置上A矩阵元素的自然对数;(4)求矩阵B的所有对角线元素之和m。

(5)返回值为矩阵B和m。

(6)要求:进行上机编程,调试完成后将程序书写在大作业报告中、并加以注释,将调试结果截图打印粘贴在大作业报告中。

解:①根据题目要求编写一个函数文件,设函数名为heer ,则函数文件名为heer.m②因为题目要求最终的返回值为B和m,故在定义函数时可设置为 function [B,m]=heer(n)③根据要求,矩阵的阶数n是有限定范围(3<n<10)的,故可采用if语句实现④在这个大前提下,矩阵A是系统产生的,且矩阵B在A的基础上进行对数运算,可以直接用赋值语句实现:A=rand(n,n)B=log(A)⑤因为题目还要求矩阵B的所有对角线上的元素和,考虑到对角线上元素为B[i,i], 即元素下标相等,则可以用for 循环语句实现:for i=1:1:nsum=sum+B(i,i);end这样,整个M文件的内容就确定下来,只需在软件中先编写好该文件,再保存,即可在命令窗口直接调用该文件。

下面为M文件的截图如下图所示,设置n=2,则系统显示错误信息如下图所示,设置n=7.,程序运行结果如下2、一个50Hz的简单电力系统如下图所示,试在Simulink中建立仿真模型研究该系统性能。

k1GTLD2LLD1系统建模要求如下:(1) 发电机G 采用“Synchronous Machine pu Fundamental ”模型,变压器T 采用“Three-Phase Transformer (Two Windings)”模型,输电线路L 采用“Three-Phase Series RLC Branch ”模型,负荷LD1、LD2采用“Three-Phase Parelell RLC Load ”模型。

数学建模 Matlab编程练习2

数学建模 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数学建模大作业

******大学本科实验报告课程名称:****建模与仿真设计专题:单服务员的排队模型学生姓名:***学号:**********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建模大作业,机械0908,40940238.姜爱民

MATLAB建模大作业,机械0908,40940238.姜爱民
3. = + = , = = .
从实验的结果来看,英方将获胜.事实上,纳尔逊率领的英国舰队确实获得了胜利,法西联合舰队在第三轮战斗中ቤተ መጻሕፍቲ ባይዱ剩13艘战舰时战败而去,但是纳尔逊本人也在战斗中阵亡.
= = ,
结果将是英国舰队仅剩3艘战舰,且至少有一艘遭到重创,而法国-西班牙舰队还剩18
艘战舰.显然是英方战败.
但是实际的结局是战斗以英方的胜利告终.
当时法西联合舰队是排列为一路纵队,并分为B, A, C三组,分别有战舰17, 3, 13艘(如下图).
∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇∇
纳尔逊决定采用各个击破(Divide-and-Conquer)的策略:先用13艘战舰去攻击对方的A组3艘战舰,留14艘作预备队.然后用战斗剩余的战舰与预备队合并去攻击对方的B组,最后用剩余的力量与对方剩余的力量决战.设每一个回合中,各方损失的舰只数是对方舰只数的5%.
用数学模型作数学实验如下:
2. + = , = = ;
特拉法尔加海战
The Battle of Trafalgar
1805年,英国海军上将纳尔逊勋爵指挥
英国海军舰队赢得特拉法尔加海战的胜利。
此次海战无论在英国的历史和世界军事史上都具有重要的意义。
位于伦敦的威斯敏斯特的特拉法尔加广场
(Trafalgar Square),纳尔逊纪念碑(Nelson'sColumn)即为纪念此次海战而建。
影响战斗力的三个因素:
1.战斗减员,与对方的战斗力成正比
2.非战斗减员,与己方战斗力成正比
3.增援部队
本例中只考虑第一个因素.
假设在每一个回合中,各方损失的舰只数是对方舰只数的10%,则有数学模型
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

******大学
本科实验报告
课程名称:****建模与仿真
设计专题:单服务员的排队模型学生姓名:***
学号:**********
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=1
TjM=[];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;
end
n=length(TjM);
s=0;sM=[];T=[];
%模拟该工作日内服务员接待顾客(for i=1:n-1)
for i=1:n-1
t=sum(TjM(1:i,1))+s+TfM(i);%计算第i个顾客离开时的时刻t
s=(t-sum(TjM(1:(i+1),1)))*((t-sum(TjM(1:(i+1),1)) )>0);%计算第i+1个顾客的等待时间s
%如果时刻t>480,记录i值,跳出循环
if t>480
sI=i;break
else
%记录第i+1个顾客等待时间s值,和第i个顾客离开时刻t
T=[T;t];
sM=[sM;s];
end
end
%记算该工作日顾客平均等待时间sMean值
sMean=mean([0;sM]);
%记录每个工作日顾客平均等待时间序列sMeanM
sMeanM=[sMeanM;sMean]
%记录服务员接待顾客数目序列sIM
sIM=[sIM;sI]
end
%记算平均每天完成服务的个数和每日顾客的平均等待时间
j=1:1:10;
bar(sIM);
title('平均每天完成服务人数');
figure;
bar(sMeanM);
title('平均每天等待时间')
六、对本课程的几点建议
1.希望老师能够多提供一些MATLAB的典型例题让
同学进行尝试,增强同学们的动手操作能力。

例如本题就很具有代表性,以前我学习数学建模时这道例题做过好多遍,尤其是流程图的画法,它能够清楚地告诉同学们具体的运算流程与结构,使自己的做题思维有着很强的先后顺序,编代码时自然得心应手。

同时,我记得自己在以前老师
的指导下不停地进行完善这一题的结构与思路,从中也获得了很多知识与能力,这就是典型例题的作用。

2.希望老师多重视同学们的上机实践机会与能力,
有时心里想的与实际操作时差距很大,眼高手低也是我当时学习数学建模时的一大弊病,总感觉代码在自己的心里已经很清楚了,无须再进行上机亲自去编,但是这样就无法让我了解到一些小的毛病,例如函数明编错等等不起眼的错误,但是他们的存在毕竟是自己一种错误的表现形式。

3.还很清楚的记得在自己刚开始学习数学建模时手
里就准备了一个小的笔记本,上面大大小小有很多例题,也有很多MATLAB的具体知识点,因为MATLAB有些知识过于零碎,自然在学习时就应当不停地进行复习与回顾,这就要求同学们有自己的一个储存知识的本子,时刻进行回忆学习。

所以我建议老师让同学们都准备一个笔记本来收录自己所学到的知识。

4.建议老师能够不停地提醒同学们学习建模不能不
懂装懂,不会的及时去问指导老师,建模的知识就在那里,如果我们因为没有接触过或者接触很少而不懂,这是很正常的,我们要做的就是不断
地进行扩充自己的知识点,见多了自然就识广了,自己如果发现不了一定的新的知识,自己建模的
水平就永远不会得到进步。

附:个人联系方式
手机:************
邮箱: *********@。

相关文档
最新文档