MATLAB实验中国石油大学.docx
- 文档编号:6029700
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:18
- 大小:75.03KB
MATLAB实验中国石油大学.docx
《MATLAB实验中国石油大学.docx》由会员分享,可在线阅读,更多相关《MATLAB实验中国石油大学.docx(18页珍藏版)》请在冰豆网上搜索。
MATLAB实验中国石油大学
MATLAB实验报告
实验一MATLAB的基本使用方法
一、实验目的
1.熟悉MATLAB的主界面;
2.学会利用MATLAB的联机帮助系统和命令窗口帮助系统;
3.学会利用MATLAB进行基本的数学计算。
4.掌握矩阵的构建与运算方法及相关函数;
5.掌握多项式的运算方法。
二、实验内容
1.验证课本有关章节所举例题。
2.设
,
,计算以下习题
(1)
(2)
(3)
(4)
3.设A=1.2,B=-4.6,C=8.0,D=3.5,E=-4.0,计算
T=arctan(
)
4.设a=5.67,b=7.8,计算
5.设两个复数a=1+2i,b=3-4i,计算a+b,a-b,a×b,a÷b(a/b),并计算出各结果的幅角大小。
6.设
,
,
,
,求解下列问题:
(1)3×a
(2)a+b
(3)a*d(4)a.*d
(5)a\b(6)a.\b
(7)a.^b(8)矩阵a的逆阵
7.设三阶矩阵A,B,满足
,其中
请求出矩阵B,并代入关系式进行验证。
8.已知矩阵
计算:
(1)A(:
1)
(2)A(2,:
)
(3)A(:
2:
3)
(4)A(:
1:
2:
3)
(5)[eye(size(A)),A';zeros(size(A)),A^2]
9.已知矩阵
,B=5-A,
求出
(1)A>4
(2)A==B
(3)B-(A>2)
(4)~A>4
(5)A>4&A<6
10.求解下列方程
(1)
(2)
11.今有多项式
,要求先求得p(x)=p1(x)+p2(x),然后计算xi=0.2*i各点上的p(xi)(i=0,1,2,…,5)值。
二、实验处理
2
>>u=2
u=
2
>>v=3
v=
3
>>4*u*v/log10(v)
ans=
50.3017
>>(exp(u)+v)^2/v^2-u
ans=
9.9925
>>(u-3*v)^0.5/u*v
ans=
0.0000+3.9686i
>>pi*cos(70*pi/180)/3
ans=
0.3582
3
>>A=1.2;
>>B=-4.6;
>>C=8;
>>D=3.5;
>>C=8;
>>E=-4.0;
T=atan((2*pi*A+E/2*pi*B*C)/D)
T=
1.5561
4
>>a=1+2i;
>>b=3-4i;
>>a=5.67;
>>b=7.8;
>>exp(a+b)/log10(a+b)
ans=
6.2677e+005
5
>>a+b
ans=
4.0000-2.0000i
>>a-b
ans=
-2.0000+6.0000i
>>a*b
ans=
11.0000+2.0000i
>>a/b*(a/b)
ans=
-0.1200-0.1600i
angle(a+b)
ans=
-0.4636
>>angle(a-b)
ans=
1.8925
>>angle(a*b)
ans=
0.1799
>>angle(a/b*(a/b))
ans=
-2.2143
6
>>a=[2-1
-2-2]
a=
2-1
-2-2
>>b=[2-3
0-4]
b=
2-3
0-4
>>c=[1
2]
c=
1
2
>>d=eye
(2)
d=
10
01
>>3*a
ans=
6-3
-6-6
>>a+b
ans=
4-4
-2-6
>>a*d
ans=
2-1
-2-2
>>a.*d
ans=
20
0-2
>>a\b
ans=
0.6667-0.3333
-0.66672.3333
>>a.\b
ans=
13
02
>>a.^b
ans=
4.0000-1.0000
1.00000.0625
>>inv(a)
ans=
0.3333-0.1667
-0.3333-0.3333
7
A=[1/300
01/40
001/7]
A=
0.333300
00.25000
000.1429
B=6*A/(inv(A)*(A-A/inv(A)))
B=
300
020
001
8
>>A=[11121314
21222324
31323334
41424344]
A=
11121314
21222324
31323334
41424344
>>A(:
1)
ans=
11
21
31
41
>>A(2,:
)
ans=
21222324
>>A(:
2:
3)
ans=
1213
2223
3233
4243
>>A(:
1:
2:
3)
ans=
1113
2123
3133
4143
>>[eye(size(A)),A';zeros(size(A)),A^2]
ans=
9
A=[12345]
A=
12345
>>B=5-A
B=
43210
>>A>4
ans=
00001
>>A==B
ans=
00000
>>B-(A>2)
ans=
4310-1
>>~A>4
ans=
00000
A>4&A<6
ans=
00001
10
(1)
p=[19801]
p=
19801
roots(p)
ans=
-7.9978
-1.1165
0.0571+0.3297i
0.0571-0.3297i
(2)
a=[2-302
1521
3-11-1
4122]
a=
2-302
1521
3-11-1
4122
>>b=[8;2;7;12]
b=
8
2
7
12
>>a\b
ans=
3.0000
0.0000
-1.0000
1.0000
11
p1=[100-21]
p1=
100-21
>>p2=[14-0.5];
>>poly2sym(p1)
ans=
x^4-2*x+1
>>poly2sym(p2)
ans=
x^2+4*x-1/2
>>p=poly2sym(p1)+poly2sym(p2)
p=
x^4+2*x+1/2+x^2
i=[012345];
p=[101-20.5]
p=
1.000001.0000-2.00000.5000
>>polyval(p,i*0.2)
ans=
0.50000.1416-0.1144-0.2104-0.05040.5000
四、实验总结
通过本次实验熟悉MATLAB的主界面,学会利用MATLAB的联机帮助系统和命令窗口帮助系统;学会利用MATLAB进行基本的数学计算;掌握矩阵的构建与运算方法及相关函数;掌握多项式的运算方法。
总之,通过实验巩固了课堂所学知识,提高了操作能力。
实验二MATLAB程序设计
一、实验目的
1.掌握MATLAB编程语法;
2.掌握MATLAB控制流程语句。
二、实验内容
1.输入三角形的三条边,求三角形的面积。
如果输入的三个数不能构成三角形,要求输出“不能构成一个三角形”这样的提示信息。
(提示:
,
)
2.根据变量num的值来决定显示的内容,num=-1显示“Youareateacher.”;num=0显示“Youareastudent.”;num=1显示“Iamateacher.”;num=2显示“Iamastudent.”。
3.建立函数f(n),分别用for和while循环结构编写程序,求:
4.建立函数count(x),其中x为一个班的学生成绩,统计该班学生成绩,其中优秀:
成绩≥90,良好:
80≤成绩<90,中等:
70≤成绩<80,及格:
60≤成绩<70,不及格:
成绩<60,分别输出优秀、良好、中等、不及格的人数,要求有输入、输出提示语句。
例如:
>>count
请输入该班学生成绩:
%输出提示
[3467988978]%输入成绩
成绩优秀:
2%输出结果
成绩良好:
2
成绩中等:
2
成绩及格:
2
成绩不及格:
1
5.某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price<1000没有折扣
1000≤price<20003%折扣
2000≤price<30005%折扣
3000≤price8%折扣
输入所售商品的价格,求其实际销售价格(使用switch结构编程)。
三、实验处理
1
a=input('a=?
\n');%输入a
b=input('b=?
\n');%输入b
c=input('c=?
\n');%输入c
ifa+b>c&a+c>b&b+c>a%判断是否构成三角形
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c))%求三角形面积
elsefprintf('错误刘力宁')%若错误输出‘错误刘力宁’
end
2
num=input('num=?
\n');%输入num
ifnum==-1%判断num是否等于-1
fprintf('youareateacher')%若条件成立输出该句
elseifnum==0%判断num是否等于0
fprintf('youareastudent')%若条件成立输出该句
elseifnum==1%判断num是否等于0
fprintf('iamateacher')%若条件成立输出该句
elsenum==2%判断num是否等于2
fprintf('iamastudent')%若条件成立输出该句
end
3
functionK=lln(n)%构造函数lln
n=input('i=?
\n');%输入n
s=0;%s赋初值0
fori=1:
n%循环i从1到n
s=s+2^i;%求值
i=i+1;%i自加1
end
K=s;%s赋给K
disp(‘刘力宁’)%显示‘刘力宁’
fprintf('%4d',K)%输出K
functionk=lln1(n)%构造函数lln1
n=input('n=?
\n');%输入n
i=1;%i初值为1
s=0;%s初值为0
whilei<=n%i小于等于n则执行循环语句
s=s+2^i;%求值
i=i+1;%i自加1
end
k=s%s赋给K
disp(‘刘力宁’)%显示‘刘力宁’
4
functioncount
g=input('请输入该班学生成绩:
\n');%输入成绩
num=zeros(1,5);%构造0向量
i=numel(g);%求输入人数
forj=1:
i%循环i次
switchfix(g(j)/10)%分数除10取整
case{10,9}%若为10或9num
(1)自加1
num
(1)=num
(1)+1;
case8%若为8num
(2)自加1
num
(2)=num
(2)+1;
case7%若为7num(3)自加1
num(3)=num(3)+1;
case6%若为6num(4)自加1
num(4)=num(4)+1;
otherwise%其它num(5)自加1
num(5)=num(5)+1;
end
end
fprintf('成绩优秀:
%d\n',num
(1));%输出下列统计值
fprintf('成绩良好:
%d\n',num
(2));
fprintf('成绩中等:
%d\n',num(3));
fprintf('成绩及格:
%d\n',num(4));
fprintf('成绩不及格:
%d\n',num(5));
disp(‘刘力宁’)%显示‘刘力宁’
5
functionp=price(n)%构造函数price
switchfix(n/1000)%switch语句判别条件为n
case0%n小于1000,原价
p=n
case1%n大于等于1000且小于2000,打97折
p=n*0.97
case2%n大于等于2000且小于3000,打95折
p=n*0.95
otherwise%n大于等于3000打92折
n=n*0.92
disp(‘刘力宁’)%显示‘刘力宁’
end
四、实验结果
1
>>mianji
a=?
3
b=?
4
c=?
5
area=
6
>>mianji
a=?
1
b=?
1
c=?
2
错误刘力宁
2
>>panduan
num=?
-1
youareateacher>>panduan
num=?
0
youareastudent>>panduan
num=?
1
iamateacher>>panduan
num=?
2
iamastudent
3
lln
i=?
3
刘力宁
ans=
14
4
count
请输入该班学生成绩:
[6677889955]
成绩优秀:
1
成绩良好:
1
成绩中等:
1
成绩及格:
1
成绩不及格:
1
刘力宁
5
>>price(900)
p=
900
ans=
900
>>price(1100)
p=
1067
ans=
1067
>>price(2100)
p=
1995
ans=
1995
>>price(3100)
n=
2852
刘力宁
五、实验总结
通过本次实验掌握MATLAB编程语法,掌握MATLAB控制流程语句,对编程有了进一步的巩固与加强,加深了课堂所学的知识,增强了操作能力。
总之本次实验收益匪浅,感谢老师的指导与帮助!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实验 中国 石油大学
![提示](https://static.bdocx.com/images/bang_tan.gif)