Matlab实践报告模板
- 格式:doc
- 大小:944.65 KB
- 文档页数:62
计算机科学与技术学院 课程设计报告 ( 2015— 2016学年 第 一 学期)
课程名称: MATLAB应用实践
2016 年 1月
实 习 报 告
- 1 - 实验一 基础练习
实验内容 练习1 基础操作和简单语句输入 1.用函数sym定义符号矩阵: >> sym_matrix=('[a b c:Jack Help_Me NO_WAY]')
sym_matrix = [a b c:Jack Help_Me NO_WAY] 2.用函数syms定义符号矩阵 >> syms a b c; >> M1=sym('Classical'); >> M2=sym('Jazz'); >> M3=sym('Blues'); >> A=[a b c;M1,M2,M3;sym([2 3 5])]
A =
[ a, b, c] [ Classical, Jazz, Blues] [ 2, 3, 5] 练习要求: 1.练习数据和符号的输入方式,自定义数据和变量将前面的命令在命令窗口中执行通过 2.输入 A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) 实 习 报 告 - 2 - A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A
>> A=[7 1 5;2 5 6;3 1 5]; >> B=[1 1 1;2 2 2;3 3 3]; >> A(2,3)
ans = 6 >> A(:,2) ans = 1 5 1
>> A(3,:) ans = 3 1 5 >> A(:,1:2:3) ans = 7 5 2 6 3 5
>> A(:,3).*B(:,2) ans = 5 12 15 实 习 报 告 - 3 - >> A(:,3)*B(2,:) ans =
10 10 10 12 12 12 10 10 10
>> A*B ans = 24 24 24 30 30 30 20 20 20
>> A.*B ans = 7 1 5 4 10 12 9 3 15
>> A^2 ans = 66 17 66 42 33 70 38 13 46
>> A.^2 ans = 49 1 25 4 25 36 9 1 25
>> B/A 实 习 报 告 - 4 - ans =
0.1842 0.2105 -0.2368 0.3684 0.4211 -0.4737 0.5526 0.6316 -0.7105
>> B./A ans = 0.1429 1.0000 0.2000 1.0000 0.4000 0.3333 1.0000 3.0000 0.6000 3.输入C=1:2:20,则C(i)表示什么?其中i=1,2,3,……,10; >> C=1:2:20,
C = 1 3 5 7 9 11 13 15 17 19 则C(i)表示 1 3 5 7 9 4.查找已创建变量的信息,删除无用的变量;
练习2 编程 2.1 无条件循环 当需要无条件重复执行某些命令时,可以使用for循环:for 循环变量t=表达式1 : 达式2 :表达式 3 语句体 end 说明:表达式 1 为循环初值,表达式 2 为步长,表达式 3 为循环终值;当表达式 2 省略时则 默认步长为 1;for 语句允许嵌套. 例:矩阵输入程序生成 3×4 阶的 Hiltber 矩阵. m=input('矩阵行数:m=');for i=1 : 3 n= input('矩阵列数:n='); for j=1 : 4 for i=1:m H(i,j)=1/(i+j-1); for j=1:n end disp(['输入第',num2str(i),'行,第', num2str(j),'列元素']) end A(i, j) = input (' ') end end 2.2 条件循环 1) if-else-then 语句 If-else-then 语句的常使用三种形式为:(1) if 逻辑表达式 (3) if 逻辑表达式 1语句体 语句体 1end elseif 逻辑表达式 2 语句体 2(2) if 逻辑表达式 1 elseif 逻辑表达实 习 报 告 - 5 - 式 3 语句体 …else else 语句体 2 语句体 nend end 2) while 循环语句 while 循环的一般使用形式为:while 表达式 语句体 end 2.3 分支结构 若需要对不同的情形执行不同的操作,可用 switch 分支语句: switch 表达式(标量或字符串) case 值 1 语句体 1 case 值 2 语句体 2 Otherwise 语句体 n end 说明:当表达式不是"case"所列值时,执行 otherwise 语句体。 ① 建立 M 文件 将多个可执行的系统命令,用文本编辑器编辑后并存放在后缀为 .m 的文件中,若在 ATLAB 命令窗口中输入该 m-文件的文件名(不跟后缀.m!),即可依次执行该文件中的多 个命令.这个后缀为.m 的文件,也称为 Matlab 的脚本文件(Script File)。 注意:文件存放路径必须在 Matlab 能搜索的范围内. ② 建立函数文件 对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令 function,以备用户随时调用 1. 格式: function [输出变量列表]=fun_name(输入变量列表) 用户自定义的函数体 2. 函数文件名为:fun_name,注意:保存时文件名与函数名最好相同; 3. 存储路径:最好在系统的搜索路径上。 4. 调用方法:输出参量=fun_name (输入变量) 例: 计算 s = n!,在文本编辑器中输入: function s=pp(n); s=1; for i=1:n s=s*i; end s; 在 MATLAB 命令窗口中输入:s=pp(5) 结果为 s = 120 练习要求: 1. 编写程序,计算 1+3+5+7+…+(2n+1)的值(用 input 语句输入 n 值). n=input('input: n='); s=1; for i=1:n s=s+2*i+1; end s 实 习 报 告 - 6 - >> Untitled11 input: n=7
s = 64 2. 编写分段函数
的函数文件,存放于文件ff.m中,计算计算出 的值. 解:function s=f(x) if 0 s=x; elseif 1 s=2-x; else s=0; end s; 命令行输出结果为:>> f(-3) >>f(2^0.5) >>f(inf)
ans = ans= ans= 0 1393/985 0 练习3 矩阵计算 3.1 矩阵的创建 1.加、减运算 例:在Matlab编辑器中建立m文件:LX0701.m A=[1,1,1;1,2,3;1,3,6] B=[8,1,6;3,5,7;4,9,2] C=A+B D=A-B >> LX0701
A = 1 1 1 1 2 3 1 3 6
B = 实 习 报 告 - 7 - 8 1 6 3 5 7 4 9 2
C = 9 2 7 4 7 10 5 12 8
D = -7 0 -5 -2 -3 -4 -3 -6 4 2.乘法 (1)两个矩阵相乘 例:在Mtalab编辑器中建立M文件:LX0702.m X=[2 3 4 5 1 2 2 1]; Y=[0 1 1 1 1 0 0 0 1 1 0 0]; Z=X*Y >> LX0702
Z = 8 5 6 3 3 3 (2)矩阵的数乘:数乘矩阵 上例中:a=2*X X=[2 3 4 5
1 2 2 1]; Y=[0 1 1 1 1 0 0 0 1 1 0 0]; a=2*X >> LX0702