【Matlab学习3.1】顺序结构程序

程序和程序设计

什么叫程序?

程序是用某种计算机能够理解并且能够执行的语言来描述的解决问题的方法和步骤。

程序设计的基本步骤

程序的三种基本结构

顺序结构:按照语句的先后顺序,依次执行不同的语句。

选择结构:根据条件满足或不满足而去执行不同的语句。

循环结构:重复执行某些语句。

脚本文件和函数文件

在 Matlab 中,程序文件的扩展名为 .m,所以程序文件也称为 M 文件,程序文件分为脚本文件和函数文件。

脚本文件:可在命令行窗口直接执行的文件,也叫命令文件。

函数文件:定义一个函数,不能直接执行,而必须以函数调用的方式来调用它。 

文件的建立

脚本文件和函数文件都是文本文件,可以采用任何文本编辑程序建立和编辑。默认采用 Matlab 编辑器。启动 Matlab 编辑器的方法:

用命令按钮创建文件。

在 Matlab 主窗口选择“主页”选项卡,在“文件”命令组中,单击“新建脚本”命令按钮。

用命令按钮创建文件

用 edit 命令创建文件。 

>> edit test

在当前文件夹下,创建一个 test.m 文件,并打开 Matlab 编辑器,输入 M 文件内容并存盘。

例3.1.1:

分别建立脚本文件和函数文件,求两个矩阵的乘积。

%建立脚本文件f1.m
A = [1,2,3; 4,5,6];
B = [1,2; 3,4; 5,6];
C = A*B
%在命令行窗口运行脚本文件
>> f1
C =
    22    28
    49    64

%建立函数文件f2.m
function C = f2(A,B)
C = A*B;
%在命令行窗口调用函数文件
>> A = [1,2,3; 4,5,6];
>> B = [1,2; 3,4; 5,6];
>> C = f2(A,B)
C =
    22    28
    49    64

例3.1.1-1

例3.1.1-2

顺序结构

 顺序结构

 数据的输入

x = input(prompt)
txt = input(prompt,"s")

x = input(prompt) 显示 prompt 中的文本并等待用户输入值后按 Enter 键。用户可以输入 pi/4 或 rand(3) 之类的表达式,并可以使用工作区中的变量。

如果用户不输入任何内容直接按下 Enter 键,则 input 会返回空矩阵。
如果用户在提示下输入无效的表达式,则 Matlab 会显示相关的错误消息,然后重新显示提示。

txt = input(prompt,"s") 返回输入的文本,而不会将输入作为表达式来计算。

例3.1.2:

>> A = input('请输入变量A的值:'); 
请输入变量A的值:100

>> x = input('请输入一个字符:','s');
请输入一个字符:a

数据的输出

disp(输出项);

例3.1.3:

>> s = 'Hello World';
>> disp(s)
Hello World
>> a = [1 2 3; 4 5 6];
>> disp(a)
     1     2     3
     4     5     6

程序的暂停

pause(延迟秒数)

若要强行中止程序的运行可使用 Ctrl+C 命令。

总结

1.输入原始数据;
2.对原始数据进行处理;
3.输出处理结果。

例3.1.4:

有一线段 AB,A 的坐标为 (1,1),B的坐标为 (4.5,4.5),求 AB 的长度,以及黄金分割点 C 的坐标。

例3.1.4-1

a = input('a=');
b = input('b=');
c = a + 0.618*(b-a);
s = abs(a-b);
disp(s)
disp(c)

例3.1.4-2

 

例3.1.5:

分别建立脚本文件函数文件,对向量 [2.48, 6.39, 3.93, 8.52] 进行四舍五入取整,体会脚本文件和函数文件的组成与调用方式的不同。

答案:

%脚本文件
A = input('输入向量 A 的值:');
B = round(A)

>> edit f1
>> f1
输入向量 A 的值:[2.48, 6.39, 3.93, 8.52]
B =
     2     6     4     9


%函数文件
function B = f2(A)
    B = round(A)

>> edit f2
>> A = [2.48, 6.39, 3.93, 8.52];
>> B = f2(A);
B =
     2     6     4     9

 例3.1.5-1

例3.1.5-2

posted @ 2023-02-04 10:58  SplendidCrepuscule  阅读(496)  评论(0编辑  收藏  举报