西华大学 数学建模上机实验报告.docx
《西华大学 数学建模上机实验报告.docx》由会员分享,可在线阅读,更多相关《西华大学 数学建模上机实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
![西华大学 数学建模上机实验报告.docx](https://file1.bdocx.com/fileroot1/2022-11/27/49484b55-9045-49a1-aab4-3d3479c6a742/49484b55-9045-49a1-aab4-3d3479c6a7421.gif)
西华大学数学建模上机实验报告
西华大学数学建模基础实验报告
课程名称:
数学建模基础
年级:
2013级
实验成绩:
指导教师:
万敏
姓名:
张金
实验名称:
MATLAB
学号:
3120130101625
实验日期:
2016年4月15日
实验编号:
组号:
实验时间:
18:
00-22:
00
1、实验目的
1.通过本实验使学生了解Matlab软件,学会Matlab软件的一些基本操作和常用命令,熟悉Matlab软件的一些数值计算功能。
二、实验内容
三、使用环境
MATLAB7.0.1
四、核心代码、调试过程及结果
实验一MATLAB基本操作
一、数据输入练习
1.A=[123;456;782];
>>A=[123;456;782]
A=
123
456
782
2.B=1:
2:
10;%一般:
a:
h:
b
>>B=1:
2:
10
B=
13579
3.linspace(a,b,n);%从a开始,到b结束,产生n个数;
>>linspace(3,7,5)
ans=
34567
4.symsab%定义a,b为符号
>>symsa
>>12
ans=
12
>>symsb
>>13
ans=
13
5.a=sym(‘a’)%定义a为符号
>>a=sym('12')
a=
12
2、数据访问:
输入矩阵或数组,体会下列命令含义
>>X=[123;456;789]
X=
123
456
789
1.X(i)%取X的第i个元数
>>X
(2)
ans=
4
2.X(a:
h:
b)%取X的a:
h:
b位置上的元素
>>X([1:
2:
3])
ans=
17
3.X([abcd])%取X的第a,b,c,d位置上的元素
>>X([2456])
ans=
4258
>>A=[1345;2356;6780]
A=
1345
2356
6780
4.A(i,:
)%取A的第i行元素
>>A(2,:
)
ans=
2356
5.A(:
,j)%取A的第j列元素
>>A(:
3)
ans=
4
5
8
6.A(i,j)%取A的第i行第j列元素
>>A(2,3)
ans=
5
三、矩阵(数组)练习运算
输入矩阵(数组)
,进行下列运算
>>A=[123;456;782]
A=
123
456
782
>>B=[2;3;4]
B=
2
3
4
1.A(1,:
).*A(2,:
);A*A(:
3)。
>>A(1,:
).*A(2,:
)
ans=
41018
>>A*A(:
3)
ans=
21
54
73
2.sum(A);sum(A(i,:
))%体会该运算含义
>>sum(A)
ans=
121511
>>sum(A(2,:
))
ans=
15
3.max(A);min(A)[y,j]=max(A)%体会该运算含义
>>max(A)
ans=
786
>>min(A)
ans=
122
4.[AB];[A;B’]%拼接矩阵,体会该运算含义
>>[AB]
ans=
1232
4563
7824
>>[A;B']
ans=
123
456
782
234
5.A(2,:
)=[]%删除A的第二行元素,体会该运算含义
>>A(2,:
)=[]
A=
123
782
>>A=[123;456;782]
A=
123
456
782
6.det(A);inv(A);%求A的行列式和逆矩阵
>>det(A)
ans=
21
>>inv(A)
ans=
-1.80950.9524-0.1429
1.6190-0.90480.2857
-0.14290.2857-0.1429
7.[V,D]=eig(A);%求A的特征值和相应特征向量
>>[V,D]=eig(A)
V=
-0.2872-0.7303-0.3217
-0.67160.6733-0.4070
-0.6829-0.11560.8549
D=
12.811300
0-0.36900
00-4.4423
8.将A化成行阶梯矩阵C
>>A(3,:
)=A(3,:
)-7*A(1,:
)
A=
123
456
0-6-19
>>A(2,:
)=A(2,:
)-4*A(1,:
)
A=
123
0-3-6
0-6-19
>>A(3,:
)=A(3,:
)-2*A(2,:
)
A=
123
0-3-6
00-7
9.C1=zeros(m,n);C2=ones(m,n);C3=eye(m,n)%m,n为正整数,自己取定。
>>C1=zeros(6,3)
C1=
000
000
000
000
000
000
>>C2=ones(3,2)
C2=
11
11
11
>>C3=eye(2,3)
C3=
100
010
实验二MATLAB程序设计
1.几种常用循环语句的练习
(1)对n=1,2,…,10,求
的值,并记录在x中。
x=
Columns1through9
0.30900.58780.80900.95111.00000.95110.80900.58780.3090
Column10
0.0000
(2)设银行年利率为11.25%。
将10000元钱存入银行,问多长时间会连本带利翻一番?
money=
10000
years=
0
years=
1
money=
11125
years=
2
money=
1.2377e+004
years=
3
money=
1.3769e+004
years=
4
money=
1.5318e+004
years=
5
money=
1.7041e+004
years=
6
money=
1.8958e+004
years=
7
money=
2.1091e+004
(3)
f=
5
f=
-2
(4)
f=
5
f=
-1
f=
1
2.编写函数文件练习
(1)编写计算
的函数,并求
之值。
>>sum
sum=
2.5613e+018
(2)有一函数
,写一程序,输入自变量的值,输出函数值。
>>fun(1,pi)
f=
7.2832
ans=
7.2832
(3)编写函数:
,输入自变量的值,输出函数值。
>>fun3(1,3)
f=
400
ans=
400
实验三函数图形设计与数据拟合
1.在一幅图象中作出函数及其导函数的图形:
Y=x3-3x+4Y=3x2-3
2.作出函数Y=sin(x)/x的图形;注意,x=0时,需要单独处理。
3.无穷级数逼近:
正弦函数Y=sin(X)与其Taylor展开式的前几项构成的多项式函数的逼近关系;
4.作出参数方程函数的图象
。
5.用给定的多项式,如y=x3-6x2+5x-3,产生一组数据(xi,yi,i=1,2,…,n),再在yi上添加随机干扰(可用rand产生(0,1)均匀分布随机数,或用rands产生N(0,1)分布随机数),然后用xi和添加了随机干扰的yi作的3次多项式拟合,与原系数比较。
如果作2或4次多项式拟合,结果如何?
A3=
0.9974-5.95324.7643-2.0985
A2=
1.0164-6.15215.6457
A4=
2.9993-0.9801-6.18565.6450-3.1509
6.某零件上有一段曲线,为了在程序控制机床上加工这一零件,需要求这段曲线的解析表达式,在曲线横坐标
处测得纵坐标
共11对数据如下:
求这段曲线的纵坐标y关于横坐标x的二次多项式回归方程。
p=
0.14030.19711.0105
S=
R:
[3x3double]
df:
8
normr:
1.1097
所以二次多项式回归方程:
Y=0.1403X^2+0.1971X+1.0105
实验四线性规划问题
1.用MATLAB或 Lingo求解线性规划问题
Optimizationterminated.
X=
0.0000
600.0000
0.0000
400.0000
0.0000
500.0000
fval=
1.3800e+004
2.用MATLAB或 Lingo求解线性规划问题
Optimizationterminated.
X=
1.0e+004*
3.5000
0.5000
3.0000
0.0000
0.0000
0.0000
fval=
-2.5000e+004
3.用MATLAB或 Lingo求解线性规划问题
Optimizationterminated.
X=
30.0000
50.0000
40.0000
fval=
490.0000
五、总结
通过基本的数据操作练习,我发现了很多数学的奥妙,MATLAB软件的方便快捷。
当然,上机也不是一门十分轻松的事情。
我认为首先在理论基础上必须打好基础,经过预习,听课,复习,作业四个环节,对着门知识有了一定的了解,才有利于我更好的掌握知识。
通过上机联系比较容易的掌握理论知识的难点,以及一些平时自己没有注意到的细节,在上机的过程中,需要对每一个细节都非常细心才能够不出错,这就对我平时不注意的问题得到了及时的回应,从而加深了细节方面的处理方式。
在学习过程中也遇到了不少的问题,我积极询问老师,询问同学,查询资料,得以解决问题,培养了解决问题的能力。
通过学习,我开始从较深的方面理解计算机,数据,软件方面的专业知识。