MATLAB 实验指导
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
编著:李新平
二零零八年三月十四日
湖南理工学院 MATLAB 实验指导书
·2·
实验二、编程
2.1 条件分支语句
1.ifelseend语句
ifelseend语句的常使用三种形式为:
(1) if 逻辑
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式 1
分支语句 1
end
(2) if 逻辑表达式 1
分支语句 1
else
分支语句 2
end
(3) if 逻辑表达式 1
分支语句 1
elseif 逻辑表达式 2
分支语句 2
…
elseif 逻辑表达式 n
分支语句 n
else
分支语句 n+1
end
2.switchcaseend分支结构
若需要对多种不同的情形执行不同的操作,可用 switch分支语句:
switch 表达式(标量或字符串)
case 值 1
分支 1
case 值 2
分支 2
…
otherwise
分支 n
end
说明:当表达式不是“case”所列值时,执行 otherwise 语句体。
2.2 循环语句
1.for 循环:
当需要无条件重复执行某些命令时,可以使用 for 循环:
for 循环变量 i=初值 1: 步长 2 : 终值 3
循环体
end
说明:初值 1 为循环初值,步长 2 为循环变量 i 每次循环后自增的步长,终值 3 为循环
湖南理工学院 MATLAB 实验指导书
·3·
变量 i 的终值;步长 2 缺省值为 1;for 循环允许嵌套。
例:生成 3×4 阶的 Hiltber 矩阵。
for i=1 : 3
for j=1 : 4
h(i, j)=1/(i+j1)
end
end
也可通过 input 函数输入矩阵:
m=input(‘矩阵行数:m=’);
n= input(‘矩阵列数:n=’);
for i=1:m
for j=1:n
disp([‘输入第’,num2str(i),’行,第’, num2str(j),’列元素’])
A(i, j) = input (‘ ’)
end
end
2.while循环
while 循环的一般使用形式为:
while 逻辑表达式
循环体
end
例:用二分法计算多项式方程 0 5 2 3 = - - x x 在[0,3]内的一个根。
a=0; fa=inf;
b=3; fb=inf;
while (ba)>eps
x=(a+b)/2;
fx=x^32*x5;
if sign(fx)==sign(fa)
a=x; fa=fx;
else
b=x; fb=fx;
end
end
disp(x)
运行结果为:x=2.0945515148154233
2.3 MATLAB 命令文件和函数文件
1.命令文件
将多个 .. 可执行 ... 的系统命令,用文本编辑器编辑后并存放在后缀为.m 的文件中,若在
MATLAB 命令窗口中输入该 m文件的文件名(不跟后缀.m!),即可依次执行该文件中的多
个命令。这个后缀为.m的文件,称为 Matlab 的命令文件或脚本文件(Script File)。
注意:文件存放路径必须在 Matlab 能搜索的范围内。
2.函数文件
湖南理工学院 MATLAB 实验指导书
·4·
Matlab中还可以由用户自定义函数, 系统提供了一个用于创建用户函数的命令 function,
供用户建立函数文件以备随时调用。
(1)
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
:
function [返回值列表]=fun_name(参数列表)
用户自定义的函数体
(2)函数文件名为:fun_name,注意:保存时文件名 ... 与函数名 ... 最好相同;
(3)存储路径:最好在系统的搜索路径上。
(4)调用
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
:输出参量=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的值)。
2.编写分段函数
ï
î
ï
í
ì
< £ -
< £
=
其它 , 0
2 1 , 2
1 0 ,
) ( x x
x x
x f 的函数文件,存放于文件 ff.m 中,计算出
) 3 (- f , ) 2 ( f , ) (¥ f 的值。
3.编写黄金分割算法,求一元函数 3 . 15 2 . 19 7 . 17 ) ( 2 3 - + - = x x x x f 在区间[5,15]内
的极小值。其中算法步骤如下:
(1)给定单谷区间[a,b]=[5,15],精度要求 6 10 - < e ,最大迭代 1000 次;
(2)计算[a,b]区间中的两个黄金分割点 ) ( 382 . 0 1 a b a x - + = 和 ) ( 618 . 0 2 a b a x - + = ,
以及分割点的函数值 ) ( 1 1 x f f = 和 ) ( 2 2 x f f = ;
(3) 若 e < - 2 1 x x 满足精度要求, 输出最优解 2
2 1 x x x
+
= , 停止迭代, 否则转下一步;
(4)若 2 1 f f < ,说明函数的极小点在 1 x 附近,重新定义单谷区间 ] , [ ] , [ 2 x a b a = ,转
第(2)步;否则极小点在 2 x 附近,重新定义单谷区间 ] , [ ] , [ 1 b x b a = ,转第(2)步;