五邑大学《MATLAB程序设计》选修课大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五邑大学
《MATLAB程序设计》选修课大作业
学生姓名:
学生学号:
学院年级专业:学院级专业
指导老师:刘战(副教授)
成绩:
2010年12月
1、求下列联立方程的解
⎪⎪⎩⎪⎪⎨⎧-=+-+-=-+-=++-=--+8
102569
5832475412743w z y x w z x w z y x w z y x 求系数矩阵的秩;
求出方程组的解。
解:
在MATLAB 中输入以下指令:
>> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]
a =
3 4 -7 -12
5 -7 4 2
1 0 8 -5
-6 5 -2 10
>> rank(a)
ans =
4
>> b=[4;-3;9;-8]
b =
4
-3
9
-8
>> k=a\b
k =
-1.4841
-0.6816
0.5337
-1.2429
故系数矩阵的秩为4 方程组的解为x=-1.4841 y=-0.6816 z=0.5337 w=-1.2429
2、设))]1/()sin 3((5.0cos[2x x y ++=把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线;
解:
在MATLAB 中输入以下指令:
x=linspace(0,2*pi,101);
y=cos(0.5+3.*sin(x)./(1+x.^2));
plot(x,y,'g-') //这里可以把‘g-’改成其它的,具体请对表基本线型和颜色(见附录) title('函数曲线')
xlabel('自变量 x')
ylabel('因变量y')
text(2,0.5,'y=cos[0.5+3sin(x)/(1+x^2)]')
grid //这里可以不用grid 也就是没有栅格 用就有 下图就没用
输入结果为:
3、设6234)(245+-+-=x x x x x f
(1)取x=[-2,8]之间函数的值(取100个点),画出曲线,看它有几个零点。
(提示:用polyval 函数)
解:经计算可知,当x=-0.2时,f(x)=-68;当x=8时,f(x)=16566 但为了便于观察零点,f(x)的范围取小点。
在MATLAB 中输入以下程序:
p=[1 -4 0 3 -2 6];
x=linspace(-2,8,100);
y=polyval(p,x);
plot(x,y,'g-'); //这里同上
axis([-2,8, -90,800]);//这里-90,800可以适当修改看出有交点就行了
grid
roots(p) //这root(p)可以不要,因为题目不要求求出解
输入结果如图:
ans =
3.7999
-1.2607
1.3479
0.0564 + 0.9623i
0.0564 - 0.9623i
经观察和由运算结果可知,有3个零点,分别为x1=-1.2607,x2=1.3479,x3=3.7999。
4、在[-10,10;-10,10]范围内画出函数的三维图形。
222
2
sin y x y x z ++=
解:
在MATLAB 中输入以下程序:
[X,Y]=meshgrid(-10 : 0.5 :10);
a=sqrt(X.^2+Y.^2);
Z=sin(a)./a;
surf (X,Y,Z); //这里可以把 surf 改成mesh
输出结果如图:
5.将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。
(
10分)
①]22[)cos(π
π,,-∈x x (曲线图);
②4)y 2,-4x (-242),(22
22≤≤≤≤+=;y x y x f (曲面图)。
解:在MATLAB 中输入以下程序:
subplot(2,2,1)
subplot(2,2,2)
ezplot('(cos(x))^(1/2)',[-pi./2,pi./2])
xlabel('自变量x')
ylabel('因变量y')
subplot(2,2,3)
x=-2:1:2;
y=-4:2:4;
ezsurfc('x^2/2^2+y^2/4^2')
text(-13,-12,'f(x,y)=x^2/2^2+y^2/4^2')
subplot(2,2,4)
输出结果如图:
6有一组学生的考试成绩(见表),根据规定,成绩在100分时为满分,成绩在90~99之间时为优秀,成绩在80~89分之间时为良好,成绩在60~79分之间为及格,成绩在60
学生姓
王张刘李陈杨于黄郭赵名
成绩62 78 12 81 100 77 90 85 71 31
解:在MATLAB中建立一个M文件如下:
function y
name={'王','张','刘','李','陈','杨','于','黄','赵'}
cj=[62 78 12 81 100 77 90 85 71 31]
for i=1:9
if cj(i)==100
dj{i}='满分'
elseif (cj(i)>89)&&(cj(i)<100)
dj{i}='优秀'
elseif (cj(i)>79)&&(cj(i)<90)
dj{i}='良好'
elseif (cj(i)>59)&&(cj(i)<80)
dj{i}='及格'
else
dj{i}='不及格'
end
end
保存文件名为“y.m”保存在work 文件夹中,在命令命令窗口中输入y ,并按Enter键确认,得到如下结果
>> y
name =
'王' '张' '刘' '李' '陈' '杨' '于' '黄' '赵'
cj =
62 78 12 81 100 77 90 85 71 31
dj =
'及格'
dj =
'及格' '及格'
dj =
'及格' '及格' '不及格'
dj =
'及格' '及格' '不及格' '良好'
dj =
'及格' '及格' '不及格' '良好' '满分'
dj =
'及格' '及格' '不及格' '良好' '满分' '及格'
dj =
'及格' '及格' '不及格' '良好' '满分' '及格' '优秀'
dj =
'及格' '及格' '不及格' '良好' '满分' '及格' '优秀' '良好' dj =
Columns 1 through 8
'及格' '及格' '不及格' '良好' '满分' '及格' '优秀' '良好' Column 9
'及格'
附录:。