matlab实验三程序设计与优化

该实验旨在掌握MATLAB的函数使用、程序流控制以及脚本编写,包括输入输出、条件结构和循环结构。实验内容包括编写求解方程根的函数,输出百分制成绩等级,寻找指定区间内能被特定数整除的整数,以及使用循环和向量化方法计算π的近似值。实验过程中强调输入参数的合理性检查和程序优化。
摘要由CSDN通过智能技术生成

学聪明点,自己改,别把我卖了

一、实验目的及要求
一、实验的目的与要求
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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

佳美不ERROR

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

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

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

打赏作者

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

抵扣说明:

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

余额充值