【基础知识笔记】007 程序流程控制结构
程序流程控制---1. 顺序结构
1.1 定义
顺序结构:就是一个程序从第一行一直运行到最后一行,也就是程序从头到尾运行。
clc;
clear;
close;
x=1:0.01:10;
y=sin(x);
plot(x,y);
1.2 数据输入
使用input()函数
- x = input(prompt)
显示 prompt 中的文本并等待用户输入值后按 Return 键。
用户可以输入 pi/4 或 rand(3) 之类的表达式,并可以使用工作区中的变量。
如果用户不输入任何内容直接按下 Return 键,则 input 会返回空矩阵。
如果用户在提示下输入无效的表达式,则 MATLAB® 会显示相关的错误消息,然后重新显示提示。 - str = input(prompt,'s')
返回输入的文本,而不会将输入作为表达式来计算。
% 001
>> x=input('input something',d)
未定义函数或变量 'd'。
%002
》》输入字符串以后
>> x=input('input something')
input somethingdha
错误使用 input
未定义函数或变量 'dha'。
% 003
》》输入数字,以后
input something3
x = 3
%004
》》第二种语法输入字符串以后
>> str=input('input something','s')
input somethingfyudfvf
str =
fyudfvf
%005
》》输入数值
>> str=input('input something','s')
input something30
str =
30
%006 输入表达式
>> num=input('输入一些东西')
输入一些东西magic(3)
num =
8 1 6
3 5 7
4 9 2
1.3 数据的输出
函数调用:
disp(输出项) 区别于直接显示,这个函数不带函数名的,而且更加紧凑。
fprintf(format, data): 函数显示带有相关文本的一个或多个值,允许程序员控制显示数据的方式。
数据的暂停
- 调用格式:
- pause省略延迟时间,可暂停程序的执行,按任意键可继续执行。
- pause(n):执行该语句时可暂停n秒。
- pause on:允许后续的pause命令有效。
- pause off:可使后续的pause命令无效。
%复数
x=2*(1-2*i)^3;
%连接成字符串
str=['disp: x = ' num2str(x)];
%显示字符串
disp(str);
fprintf('fprintf: x = %8.4f\n',x);
结果:
disp: x = -22+4i
fprintf: x = -22.0000
1.什么是选择结构
2. if 分支结构
- 当条件结果为
标量
时,非零表示条件成立,零表示条件不成立。 - 当条件结果为
矩阵
时,如果矩阵为非空,且不包含零元素,则条件成立,否则不成立 。 - 例如,
- [1,2;0,4] 表示条件时,条件不成立;
- [1,2;3,4] 表示条件时,条件成立。
% 单分支
if 条件
语句组
end
%双分支
if 条件
语句组1 1
else
语句组2 2
end
%多分支
if 条件1 1
语句组1 1
elseif 条件2 2
语句组2 2
…
elseif 条件m m
语句组m m
else
语句组n n
end
2. switch 分支结构
- switch 表达式应该是一个其值可以列举的表达式 。
- case 结果表为 switch 表达式的取值, 当 取值有多个时 ,用 单元数据 表示 .
switch 表达式
case 结果表1
语句组1
case 结果表2
语句组2
…
case 结果表m
语句组m
otherwise
语句组n
end
%example
x=input('x=?');
switch fix(x)
case 2
disp (111);
case 2
disp (222);
case {3,4,5}
disp (333);
otherwise
disp (444);
end
3.example
1.什么是循环结构
循环结构又称为重复结构,是利用计算机运算速度快以及能进行逻辑控制的特点来重复执行某些操作。
2. for循环
- for 语句针对向量的每一个元素执行一次循环体
for k=[1,3,2,5]
k
end
% 循环四次
- 退出循环之后,循环变量的值就是向量中最后的元素值。
for k=1:2:10
end
k
% k=1 3 5 7 9
- 当向量为空时,循环体一次也不执行。
for k=1:-2:10 %空向量
k
end
2.1 ex
disp(magic(3))
for i=magic(3)
disp(i)
end
%输出
8 1 6
3 5 7
4 9 2
8
3
4
1
5
9
6
7
2
>> for k=[1,2,3,4]
disp(k)
end
%输出
1
2
3
4
>> for k=[1;2;3;4]
disp(k)
end
% 输出
1
2
3
4
3. while循环
b=10;
while(b<20)
disp(b)
b=b+1;
end
% 输出
10 11 12 13 14
15 16 17 18 19
4.跳出循环语句
- break 语句用来跳出循环体,结束整个循环。
- continue 语句用来结束本次循环, , 接着进行下一次是否执行循环的判断
本文来自博客园,作者:FE-有限元鹰,转载请注明原文链接:https://www.cnblogs.com/aksoam/p/17084363.html