MATLAB顺序结构及选择结构程序设计

 

一、实验目的

(1)掌握建立和执行M文件的方法

(2)掌握输入输出的方法

(3)掌握顺序结构程序设计方法

(4)掌握利用if以及switch语句实现多分支选择结构的方法

二、实验原理与实验设备

原理计算机编程相关知识技能和MATLAB软件编译环境

设备:计算机与MATLAB软件

三、建立和执行M文件

编写函数文件求得10的阶乘。提示:需要用到for循环。

function y = fib(~)

x = 1;

for i = 1:10

x = x*i;

end

y = x;

end

四、输入输出方法

  1. 输入一个正的实数x,分别输出x的整数部分和小数部分

x = input("Please input a number.\n");

m = floor(x);

n = x - m;

fprintf("所输入的数的整数部分为%d\n",m)

fprintf("所输入的数的小数部分为%f\n",n)

  1. 输入3个浮点数,求他们的平均值并保留一位小数,对小数点后第二位数进行四舍五入,最后输出结果。

a = input('请输入第一个浮点数:');

b = input('请输入第二个浮点数:');

c = input('请输入第三个浮点数:');

d = (a+b+c)/3;

e = round(10*d)/10;

disp(['计算结果为:',num2str(e)])

五、顺序程序结构设计

  1. 输入3个整数给a、b、c,然后交换他们的值:把a的值给b,b原来的值给c,c原来的值给a。

a = input("a = ");

b = input("b = ");

c = input("c = ");

d = b;

b = a;

a = c;

c = d;

fprintf("交换后a=%d\n",a)

fprintf("交换后b=%d\n",b)

fprintf("交换后c=%d\n",c)

  1. 随机产生一个3位整数,将它的十位数变成0,比如738变为708。

X = randi([100,999],1);

a = mod(X,10);

b = X - mod(X,100);

d = a+b;

fprintf("随机产生的三位整数为%d\n",X)

fprintf("十位置零后为%d\n",d

六、多分支结构设计

  1. 设计程序,完成两位数的加减乘除四则运算,即产生两个两位随机整数,在输入一个运算符号,完成对应的运算,并显示相应的结果。

m = 10+floor(rand(1)*90);

n = 10+floor(rand(1)*90);

option = input('请输入运算符:','s');

switch option

    case '+'

        c = m+n;

    case '-'

        c = m-n;

    case '*'

        c = m*n;

    case '/'

        c = m/n;

end

fprintf("所生成的第一个随机两位数为%d\n",m)

fprintf("所生成的第二个随机两位数为%d\n",n)

fprintf("所得到的结果为%.2f\n",c)

  1. 建立5x6矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出错误信息。

function a = matrix

b = zeros(5,6);

b(:) = 1:30;

n = input('请输入需输出的行数:');

if(n>0 && n<6)

    a = b (n,:);

else

    a = b(5,:);

    disp('ERROR!');

end

七、实验总结

简单谈一下MATLAB在编程时的特点,优势及劣势,并且谈一个个人在编程当中最受困扰的方面。

经过了本次实验,我对MATLAB的认识进一步加深了。MATLAB是非常强大的工程计算软件,其可以用来解决各种各样的问题,对于学工科的我来说,MATLAB是必备的计算与分析软件之一。

我也总结了MATLAB主要有三大优点。第一个优点是编程效率非常高,这是一门高级语言,相比C,Python,MATLAB更为接近我们书写计算公式的思维方式,而且其编程较为简单,易学易懂。第二个是其有高校方便的矩阵和数组运算,MATLAB像其他编程语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解数字图像处理问题时显得大为简洁、高效、方便,这是其他高级语言所不能相比的。第三个优点是其集成APP非常丰富,我曾在上面使用双目相机标定这一功能。

同样地,MATLAB也有它的缺点。第一个为其循环运算效率低,因为其处理过程非常的复杂。此外,其封装性并不好,它的所有变量都在公共的工作区,难以区分及调用。

    当然,在编程中,我也受到了一些困扰,比如:该如何编写最简便快捷的函数或程序脚本,且容易和先前学过的Python与C语言相混淆。

  • 8
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SZTU_青衫酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值