当前位置: 首页 > article >正文

MATLAB结构化程序设计

1、实验目的:

1)巩固并加深对MATLAB语言程序设计知识的理解;

2)掌握和提高MATLAB语言编程和程序调试的基本技能;

3)进一步理解和运用结构化程序设计的思想和方法;

4)提高运用MATLAB语言解决实际问题的能力。


2-1)、分别使用for语句和while语句求1~100的和。

clear all

sum = 0;
for i = 1:100   %for 循环求和
    sum = sum + i;
end
sum

clear all
i = 1;
sum = 0;
while (i <= 100)    % while循环求和
    sum = sum + i;
    i = i+1;
end
sum

while语句可以用来实现“当”型的循环结构,它的一般形式如下:

while(表达式)

        MATLAB循环语句体

end

使用for语句循环需要预先知道循环体的执行次数,这种循环一般交确定循环

for循环的基本结构形式如下:

for 循环变量 = 变量初值:步长值:变量终值

        MATLAB循环语句体

end

在MATLAB语句之后必须使用关键字end作为整个循环结构的结束

注意MATLAB中没有类似C语言中 ++、+=等运算操作符


2-2)、编写分段函数

的M函数文件,存放于文件ff.m中,并计算出

的值。

根据题目要求,我们先新建一个M函数文件,将分段函数表达式,用if elseif else 选择结构的形式描述出来即可

function y = ff(x)
%分段函数表达式
if (x>=0 & x<1)
    y = x;
elseif (x>=1 & x<=2)
    y = 2*x-1;
else
    y = 0;
end

在命令文件中调用这个函数

y = ff(-3)
y = ff(1/2)
y = ff(sqrt(2))

输出结果如下:


 2-3)、编程实现将百分数的分数转化为五级制分数,如:90~100:优、80~89:良、70~79:中、60~69:及格、59以下为不及格,并可将屏幕上任意输入的百分制成绩转换为五分制成绩。

grade = input('请输入百分制成绩');
switch fix (grade / 10)    %fix向下取整
    case{9,10}
        grade = '优';
    case{8}
        grade = '良';
    case{7}
        grade = '中';
    case{6}
        grade = '及格';
    otherwise   %其他
        grade = '不及格';
end
grade

先用input语句输入成绩,如果想将百分制成绩转换为五分制成绩,用switch case结构更好一点,可以先将成绩范围缩小 fix (grade / 10),将成绩除以10再向下取整,就可以实现60~69的成绩段用6代替,80~89的成绩用8来代替…… switch case最后也要加end

最后将grade输出看结果


2-4)、使用嵌套for语句求矩阵A的所有元素之和,要求矩阵A由向量变形而来(使用reshape函数)。

clear all
A = [1:25];  %生成1~25的行向量
A = reshape(A, [5,5]);   %使用reshape函数,重构成5*5的矩阵
[m, n] = size(A);
sum = 0;
for i = (1:m)   %嵌套for循环语句 求矩阵所有元素之和
    for j = (1:n)
        sum = sum + A(i,j);
    end
end
sum

这里用到了双重for循环嵌套,遍历每一个元素求和,注意MATLAB中循环语句的写法和C语言略有不同~_~


http://www.kler.cn/a/7248.html

相关文章:

  • 【流量分析】常见webshell流量分析
  • 另外一种缓冲式图片组件的用法
  • SpringBoot实现WebSocket
  • Ubuntu VNC Session启动chromium和firefox报错
  • 网络安全SQL初步注入2
  • MySQL数据库:SQL语言入门 【2】(学习笔记)
  • MySQL 存储引擎
  • Java设计模式(九)外观模式
  • mongodb和mysql双写数据一致性问题
  • 如何提高逻辑思维,亲测,这3个方法有效
  • C++封装详解——从原理到实践
  • 实验四 配置OSPF协议
  • 投资大咖说,消费产业3个升级方向
  • java 重试
  • Python怎么学最高效
  • “我做测试开发的这一年多,月薪5K变成了24K”
  • 【前端面试题——微信小程序】
  • VUE3 学习笔记(六)Post 实现文件下载(Delphi 后台)
  • 【软件设计师06】数据结构与算法基础
  • 朴素贝叶斯程序
  • 【从零开始学习 UVM】12.2、UVM RAL(续更) —— RAL Model 结构
  • Linux系统【Centos7】更新内核更新软件详细教程
  • 详细介绍雷达到达角估计算法3DFFT,DBF,MUSIC,Capon的原理、对比、各自的优势
  • 【新2023Q2模拟题JAVA】华为OD机试 - 预订酒店
  • PB语言实现控制反转(IoC)
  • 【SQL开发实战技巧】系列(三十四):数仓报表场景☞如何对数据分级并行转为列