matlab实验三程序设计与优化

news2024/11/18 11:50:20

一、实验目的及要求
一、实验的目的与要求
1、掌握 MATLAB的函数
2、掌握 MATLAB的程序流
3、掌握 MATLAB脚本和函数文件的编写
4、熟悉基于矩阵的程序设计与优化

二、实验原理
1、MATLAB的M文件:脚本文件与函数文件;
2、MATLAB程序流:input、disp、if 语句、for语句、while语句、swich case结构和try catch结构;
3、函数文件,匿名函数,文件中的函数;
4、MATLAB程序设计与优化:向量化设计代替循环语句、预定义变量等;

二、实验设备及要求
PC机100台及MATLAB软件
三、实验内容与步骤
(1)编写求解方程的根的函数(a,b,c的取值由用户输入决定),要求能够判断方程组解的情况,从而控制函数的输出。注:① 有输入参数的提示(如输入参数个数是否准确?缺省时如何处理?) ②在屏幕打印解的情况 ③最后输出具体解的值。
(2)输入一个百分制成绩,要求输出成绩等级A+、A、B、C、D、E。其中100分为A+,90分~99分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。要求:
① 用switch语句实现;
② 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
(3)求指定区间内第二个能被n整除的整数。例如求区间[200,500]中第二个能被32整除的整数。要求:
① 判断输入的合理性,输入参数必须是正整数,否则,重新输入,直到输入为整数才进行下一步。
② 写成函数文件,可灵活更改区间范围和整数n的值。
(4)根据,,当分别取100、1000和10000时,求的近似值,分别用循环语句和向量化的程序设计实现。注:向量化是指借助matlab中矩阵形式运算,速度较循环过程快。
四、实验结果与数据处理
实验结果截图:
在这里插入图片描述

(1):

实验代码:入
a = input('a = ');
b = input('b = ');
c = input('c = ');
if isempty(a) || isempty(b) || isempty©
disp(‘ERROR with empty input!’);
elseif a0 && b0 && c~=0 % 是否为 c = 0 的错误输入
disp(‘ERROR with identical inequation!’);
elseif a==0 && b~=0 % 是否为一次方程
x = -c / b;
disp(x);
Else
delta = b^2 - 4ac;
x1 = (-b + sqrt(delta)) / 2a;
x2 = (-b - sqrt(delta)) / 2
a;
disp([x1, x2]);
end
clearvars

(2):
在这里插入图片描述

实验代码:score = input('score = ');
if score<=100 && score>=0
score = floor(score/10);
switch(score)
case 10
fprintf(‘A+’);
case 9
fprintf(‘A’);
case 8
fprintf(‘B’);
case 7
fprintf(‘C’);
case 6
fprintf(‘D’);
otherwise
fprintf(‘E’);
end
else
fprintf(‘ERROR!’);
end

(3):

(4):

实验代码:
n = 100;
approx_pi = 0;
for i = 1:1:n
approx_pi = approx_pi + 1/(i^2);
end
approx_pi = sqrt(6 * approx_pi)
clearvars approx_pi % 清除变量 approx_pi
% 向量化,表示成 (1,n)*(n,1) 的矩阵乘法
approx_pi = (1 ./ (1:1:n).^2) * ones(n, 1); % 运用 ./ 和 .^
approx_pi = sqrt(6 * approx_pi)
clearvars

五、实验分析与总结
实验过程比较艰难需要借助网上查询完成,还有许多问题仍然需要解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/517442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【企业信息化】第2集 免费开源ERP: Odoo 16 销售管理系统

文章目录 前言一、概览二、使用功能1.通过清晰报价提高销售效率2.创建专业报价单3.管理订单及合同4.简化沟通5.维护产品&价格6.直观的报告7.集成 三、总结 前言 世界排名第一的免费开源ERP: Odoo 16 销售管理系统。通过Odoo Sign应用程序和在线支付&#xff0c;发送报价。…

“极乐净土”时隔7年再度席卷B站,二次元魂藏不住了!

七年前&#xff0c;日本知名歌手美依礼芽发行一曲《极乐净土》&#xff0c;搭配歌曲的宅舞视频燃起了众多二次元魂&#xff0c;翻跳投稿纷至沓来。 可以说&#xff0c;她是许多老二次元人的回忆&#xff0c;也是一个时代的标记。 当时&#xff0c;《极乐净土》横空出世&#…

为什么需要边缘计算?哪些场景需要边缘计算?

为什么需要边缘计算&#xff1f; 边缘计算&#xff08;Edge Computing&#xff09;是一种将数据处理和计算功能移到接近数据源头的边缘设备上进行的计算模式。相比传统的云计算模式&#xff0c;边缘计算能够在接近数据源头的地方进行实时的数据处理&#xff0c;这为计算机视觉…

前端vue3一键打包发布

一键打包发布可以分为两种&#xff0c;一是本地代码&#xff0c;编译打包后发布至服务器&#xff0c;二是直接在服务器上拉去代码打包发布至指定目录中。 两种各有使用场景&#xff0c;第一种是前端开发自己调试发布用的比较多&#xff0c;第二种是测试或者其他人员用的多&…

java 二维数组的定义及操作

二维数组的定义有很多方式&#xff1a; 第一种方式&#xff1a; 数据类型[][] 数组名 new数据类型[行的个数][列的个数]; 下面以第一种方式声明一个数组&#xff0c;如下所示。 int[][] xx new int[3][4]; 表示有三行&#xff0c;每行方四个数据第二种方式&#xff1a; 数据类…

甘特图控件DHTMLX Gantt入门使用教程【引入】:dhtmlxGantt 与Node.js(上)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求&#xff0c;具备完善的甘特图图表库&#xff0c;功能强大&#xff0c;价格便宜&#xff0c;提供丰富而灵活的JavaScript API接口&#xff0c;与各种服务器端技术&am…

Vue3-黑马(三)

目录&#xff1a; &#xff08;1&#xff09;vue3-基础-计算属性 &#xff08;2&#xff09; vue3-基础-xhr-基本使用 &#xff08;3&#xff09;vue3-基础-xhr-promise改造 &#xff08;1&#xff09;vue3-基础-计算属性 上面有重复的代码&#xff0c;用计算属性&#xff0…

Kali工具集简介

Kali Linux提供了数种经过定制的专门为渗透测试设计的工具。工具都会按下图中下拉选单所示的方式按组分类聚合。了解工具是做渗透测试第一个认知。 口Information Gathering(信息收集) 这些都是侦察工具,用来收集目标网络和设备的数据。在这类工具中,从找出设备的工具到查看使…

大数据分析案例-基于高斯朴素贝叶斯算法构建良恶性肿瘤识别器

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

时间复杂度和空间复杂度的七七八八

文章目录 时间空间复杂度1. 时间空间复杂度的重要性(作用)2. 时间复杂度和大O表示法1&#xff09;算法图解2&#xff09;代码随想录3&#xff09;王道《数据结构》 3. 大O指的是最糟的情形和一般的情形1&#xff09;大O表示的是一般情况&#xff0c;并不是严格的上界2&#xff…

算法修炼之练气篇——练气四层

博主&#xff1a;命运之光 专栏&#xff1a;算法修炼之练气篇 前言&#xff1a;每天练习五道题&#xff0c;炼气篇大概会练习200道题左右&#xff0c;题目有C语言网上的题&#xff0c;也有洛谷上面的题&#xff0c;题目简单适合新手入门。&#xff08;代码都是命运之光自己写的…

创建虚拟目录和用户访问控制+虚拟目录

目录标题 虚拟目录配置文件创建配置文件对应的目录资源在创建一个虚拟目录的配置文件 用户访问控制虚拟目录创建用户访问控制权限创建配置文件中的用户资源测试tom用户测试zhangsan用户 虚拟目录 Alias 虚拟目录名称 真是目录路径为了方便对于网站资源进行灵活管理&#xff0c…

使用 MVC 模式,实现简单登录功能 (Kotlin)

先放效果图&#xff1a; 第一张是登录页面效果图。用户输入登录名和密码&#xff0c;经过后台的非空验证和固定值验证&#xff0c;跳转到首页 第二张是首页效果图。用户点击 “update” 显示用户名和密码 这里的用户名和密码是后台设置的固定值&#xff0c;整体的登录逻辑特别…

python+opencv图像形态变换

形态变换主要用于二值图像的形状操作&#xff0c;形态变换的实现原理基于数字形态学。数字形态学也称形态学&#xff0c;它主要从图像内部提取信息来描述图像形态。形态学广泛应用于视觉检测、文字识别、医学图像处理、图像压缩编码等。形态变换主要包括腐蚀、膨胀和高级形态操…

Linux aarch64架构中使用docker安装mysql8

Linux aarch64架构中使用docker安装mysql8 1、遇到问题&#xff1a; 官网下载mysql包&#xff0c;安装完成后&#xff0c;启动mysql一直显示-bash: ./mysqld: 无法执行二进制文件。 网上找了各种资料&#xff0c;但是都没有作用&#xff0c;怀疑自己操作姿势不正确&#xff…

面试题集合

Dubbo是Alibaba开源的分布式服务框架&#xff0c;它最大的特点是按照分层的方式来架构&#xff0c;使用这种方式可以使各个层之间解耦合&#xff08;或者最大限度地松耦合&#xff09;。 从服务模型的角度来看&#xff0c;Dubbo采用的是一种非常简单的模型&#xff0c;要么是提…

DNS:DNS域名解析过程及原理

一、理解IP和域名 我们首先要了解域名和IP地址的区别。 IP地址是互联网上计算机唯一的逻辑地址。 通过IP地址实现不同计算机之间的相互通信&#xff0c;每台联网计算机都需要通过IP地址来互相联系和分别。 但由于IP地址是由一串容易混淆的数字串构成&#xff0c;人们很难记忆所…

C基础 --- 因为整型提升导致的BUG

为什么会做整型提升 通常情况下&#xff0c;在对int类型的数值作运算时&#xff0c;CPU的运算速度是最快的。在x86上&#xff0c;32位算术运算的速度比16位算术运算的速度快一倍。C语言是一个注重 效率的语言&#xff0c;所以它会作整型提升&#xff0c;使得程序的运行速度尽可…

基于ChatGPT AI自动产生Shader,AI自动产生AICommand

AIEngine 基于ChatGPT AI自动产生Shader 代码地址&#xff1a;https://github.com/ManoKing/AIEngine 使用方法&#xff1a; 1&#xff0c;打开 Window/Package Manager 2&#xff0c;选择 /Add package from git URL… 3&#xff0c;添加URL: https://github.com/ManoKing/…

VMware Aria Automation Orchestrator 8.12 - 现代工作流程自动化平台

VMware Aria Automation Orchestrator 8.12 - 现代工作流程自动化平台 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-aria-automation-orchestrator/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 现代工作流程…