matlab数学实验.docx
- 文档编号:462237
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:36
- 大小:528.33KB
matlab数学实验.docx
《matlab数学实验.docx》由会员分享,可在线阅读,更多相关《matlab数学实验.docx(36页珍藏版)》请在冰豆网上搜索。
matlab数学实验
《管理数学实验》实验报告
班级姓名
实验1:
MATLAB的数值运算
【实验目的】
(1)掌握MATLAB变量的使用
(2)掌握MATLAB数组的创建,
(3)掌握MATLAB数组和矩阵的运算。
(4)熟悉MATLAB多项式的运用
【实验原理】
矩阵运算和数组运算在MATLAB中属于两种不同类型的运算,数组的运算是从数组元素出发,针对每个元素进行运算,矩阵的运算是从矩阵的整体出发,依照线性代数的运算规则进行。
【实验步骤】
(1)使用冒号生成法和定数线性采样法生成一维数组。
(2)使用MATLAB提供的库函数reshape,将一维数组转换为二维和三维数组。
(3)使用逐个元素输入法生成给定变量,并对变量进行指定的算术运算、关系运算、逻辑运算。
(4)使用MATLAB绘制指定函数的曲线图,将所有输入的指令保存为M文件。
【实验内容】
(1)在[0,2*pi]上产生50个等距采样数据的一维数组,用两种不同的指令实现。
0:
(2*pi-0)/(50-1):
2*pi或linspace(0,2*pi,50)
(2)将一维数组A=1:
18,转换为2×9数组和2×3×3数组。
reshape(A,2,9)
ans=
Columns1through7
135791113
2468101214
Columns8through9
1517
1618
reshape(A,2,3,3)
ans(:
:
1)=
135
246
ans(:
:
2)=
7911
81012
ans(:
:
3)=
131517
141618
(3)A=[0234;1350],B=[1053;1505],计算数组A、B乘积,计算A&B,A|B,~A,A==B,A>B。
A.*B
ans=
001512
11500
A&B
ans=
0011
1100
A|B
ans=
1111
1111
~A
ans=
1000
0001
A==B
ans=
0000
1000
A>=B
ans=
0101
1010
(4)绘制y=0.5
-t*t*sin(t),t=[0,pi]并标注峰值和峰值时间,添加标题y=0.5
-t*t*sint,将所有输入的指令保存为M文件。
a=0.5
b=1/3
t=0:
0.001:
pi
y=a*exp(b*t)-t.*t.*sin(t)
[y_max,t_max]=max(y)
t_text=['t=',num2str(t(t_max))]
y_text=['y=',num2str(y_max)]
max_text=char('maximum',t_text,y_text)
tit=['y=a*exp(',num2str(b),'t)-t*t*sin(t)']
holdon
plot(t,y,'y.')
plot(t(t_max),y_max,'r')
text(t(t_max)+0.3,y_max+0.1,max_text)
title(tit),xlabel('t'),ylabel('y'),holdoff
【实验心得与总结】
通过这次试验让我了解常用简单函数的功能,学会利用函数解决一些;数值计算和符号计算的实际问题;利用Matlab的help命令查询一些函数的功能。
利用MATLAB可以让繁琐的计算问题变得更加简单化,如矩阵运算等。
\
实验2:
MATLAB绘图
【实验步目的】
利用MTALAB画墨西哥帽子,及参数方程的图像
【实验原理】
(1)二维绘图命令:
plot(x,y)函数
(2)三维绘图命令中三维曲线:
plot3(x,y,z),
(3)利用mesh函数画三维的网格表面的。
【实验内容】
(含参考程序、实验结果及结果分析等)
画出函数图形
。
方程:
【参考程序】
>>t=0:
0.1:
4*pi;
>>plot3(2*cos(t),t.^3,t)
【实验结果】
画出曲面
的图像。
方程:
【参考程序】
x=-7.5:
0.5:
7.5;
y=x;
[xx,yy]=meshgrid(x,y);
R=sqrt(xx.^2+yy.^2)+eps;
z=sin(R)./R;
surf(xx,yy,z)
【实验结果】
【实验心得与总结】
Matlab的常见错误:
Innermatrixdimensionsmustagree
1、因为在Matlab的输入变量是矩阵,参与运算的矩阵维数必须对应,矩阵相应元素的运算必须全部加dot(点),例2中方程如果这样输入:
x=2*(cos(t)+t*sin(t)),就会出现该错误.
2、mesh函数是用来画三维的网格表面的。
三维空间中的一个点是用(x,y,z)来表示的,mesh就是把这些点之间用网格连接起来。
实验3:
MATLAB微积分问题的计算
【实验目的】利用MTALAB求解二重积分、勒展开式及级数求和。
【实验原理】
1.利用int(int(f,x,a,b),y,c,d)函数求二重积分计算累次积分
2.利用泰勒函数taylor(f,n,x,a)来求f(x,y)的n-1阶泰勒展开式
;
3.利用函数symsum(f,k,n1,n2)来求级数的和函数
【实验内容】(含参考程序、实验结果及结果分析等)
求
。
【参考程序】
>>symsxy
>>z=x*y;
>>f=int(int(z,y,2*x,x^2+1),x,0,1)
【实验结果】
f=1/12
将f(x)=lnx展开为幂为(x-2)的5阶泰勒展开式。
【参考程序】
>>symsxn;
>>f=(-1)^n*x^(n+1)/(n+1);
>>symsum(f,n,1,inf)
【实验结果】
ans=log(1+x)-x
级数求和
。
【参考程序】
>>symsxn;
>>f=(-1)^n*x^(n+1)/(n+1);
>>symsum(f,n,1,inf)
【实验结果】
ans=log(1+x)-x
【实验心得与总结】
1、在实验过程中,要是一句程序结束后加了分号,则说明,不要求执行程序时输出执行结果;
2、在matlab中是区别大小写的,如果N写成n会出现Undefinedfunctionorvariable'n'.Undefinedfunctionorvariable'n'.的错误提示.
实验4:
MATLAB优化计算
【实验目的】
掌握应用matlab求解无约束最优化问题的方法
【实验原理与方法】
1:
标准形式:
2.无约束优化问题的基本算法
一.最速下降法(共轭梯度法)算法步骤:
⑴给定初始点
,允许误差
令k=0;
⑵计算
;
⑶检验是否满足收敛性的判别准则:
,
若满足,则停止迭代,得点
,否则进行⑷;
⑷令
,从
出发,沿
进行一维搜索,
即求
使得:
;
⑸令
,k=k+1返回⑵.
最速下降法是一种最基本的算法,它在最优化方法中占有重要地位.最速下降法的优点是工作量小,存储变量较少,初始点要求不高;缺点是收敛慢,最速下降法适用于寻优过程的前期迭代或作为间插步骤,当接近极值点时,宜选用别种收敛快的算法.
二.牛顿法算法步骤:
(1)选定初始点
,给定允许误差
,令k=0;
(2)求
检验:
若
则
停止迭代,
.否则,转向(3);
(3)令
(牛顿方向);
(4)
转回
(2).
如果f是对称正定矩阵A的二次函数,则用牛顿法经过一次迭代
就可达到最优点,如不是二次函数,则牛顿法不能一步达到极值点,
但由于这种函数在极值点附近和二次函数很近似,因此牛顿法的收
敛速度还是很快的.
牛顿法的收敛速度虽然较快,但要求Hessian矩阵要可逆,要计算二阶导数和逆矩阵,就加大了计算机计算量和存储量.
【实验内容】
1.求f=2
在0 主程序为wliti1.m: f='2*exp(-x).*sin(x)'; fplot(f,[0,8]);%作图语句 [xmin,ymin]=fminbnd(f,0,8) f1='-2*exp(-x).*sin(x)'; [xmax,ymax]=fminbnd(f1,0,8) 运行结果: xmin=3.9270ymin=-0.0279 xmax=0.7854ymax=0.6448 2.对边长为3米的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如 何剪法使水槽的容积最大? 先编写M文件fun0.m如下: functionf=fun0(x) f=-(3-2*x).^2*x; 主程序为wliti2.m: [x,fval]=fminbnd('fun0',0,1.5); xmax=x fmax=-fval 运算结果为: xmax=0.5000,fmax=2.0000.即剪掉的正方形的边长为0.5米时水槽的容积最大,最大容积为2立方米. 实验5: MATLAB图论问题计算 【实验目的】 了解用Matlab软件求解图论模型及层次分析模型的方法。 【实验内容与原理】 内容: 1.某城市要建立一个消防站,为该市所属的七个区服务,如图所示.问应设在那个区,才能使它至最远区的路径最短。 2.某矿区有七个矿点,如图所示.已知各矿点每天的产矿量 (标在图的各顶点上).现要从这七个矿点选一个来建造矿厂.问应选在哪个矿点,才能使各矿点所产的矿运到选矿厂所在地的总运力(千吨公里)最小. 原理: 利用层次分析法和图论方法模型的一般概念,理解建立层次分析法和图论方法模型的一般方法,初步学会建立层次分析法和图论方法模型以解决实际问题。 【操作方法与步骤】 步骤: 1. (1)用Floyd算法求出距离矩阵D= . (2)计算在各点 设立服设施的最大服务距离 (3)求出顶点 ,使 建立M文件 a=[03infinfinfinfinf; 302inf182.5inf; inf2062infinf; infinf603infinf; inf182304inf; inf2.5infinf401.5; infinfinfinfinf1.50]; [D,R]=floyd(a) 点击运行 则 就是要求的建立消防站的地点.此点称为图的中心点. 2. (1)求距离阵D= . (2)计算各顶点作为选矿厂的总运力 (3)求 使 , (4)建立M文件 a=[03infinfinfinfinf; 302infinf4inf; inf2062infinf; infinf601infinf; infinf2104inf; inf4infinf401.5; infinfinfinfinf1.50];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 数学 实验