《Matlab语言》实验四
更新时间:2023-12-07 05:49:01 阅读量: 教育文库 文档下载
实验四、 Matlab的程序设计
(一)实验目的
1.掌握利用if语句实现选择结构的方法。
2.掌握利用switch语句实现多分支选择结构的方法。 3.掌握利用for语句实现循环结构的方法。 4.掌握利用while语句实现循环结构的方法。 5. 掌握Matlab函数的编写及调试方法。
(二)实验环境
1.计算机
2.MATLAB7.0集成环境
(三)实验内容
1、编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。 function y=myfun1(x)
?sinx,?y(x)??x,??x?6,?x?00?x?3x?3
选择一些数据测试你编写的函数。 function [y]=myfun1(x) if x<=0
y=sin(x); elseif x>0&x<=3 y=x; elseif x>3 y=-x+6; End 结果:
>> x=5;
>> [y]=myfun1(x) y = 1
2、编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值。
function [m_x,max_x,min_x,rms_x]=myfun2(x)方均根值(Root Mean Square)的计算公式为:
rms?1NN?i?1xi2
用下面数据测试你写的函数:
function [m_x,max_x,min_x,rms_x]=myfun2(x)
%求平均值
sum_x=sum(x); %向量元素求和
[m,n]=size(x); %最好用n=length(x); m_x=sum_x/n;
%求最大值 采用逐个比较方式 if x(1)>x(2) max_x=x(1); else
max_x=x(2); end for k=3:n
if max_x else max_x=max_x; %可省略 end end %求最小值 if x(1) min_x=x(2); end for k=3:n if min_x>x(k) min_x=x(k); else min_x=min_x; %可省略 end end %求均方根值 sum_x2=0; for k=1:n sum_x2=sum_x2+x(k).^2; rms_x=sqrt(sum_x2/n); end m_x; max_x; min_x; rms_x; %按照函数值行 (1)x=sin(0:0.01:6*pi) 运行结果:>> x=sin(0:0.01:6*pi); >> [m_x,max_x,min_x,rms_x]=myfun2(x) m_x = -1.1256e-007 max_x = 1.0000 min_x = -1.0000 rms_x = 0.7071 (2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。 >> x=rand(1,200); >> [m_x,max_x,min_x,rms_x]=myfun2(x) m_x = 0.5231 max_x = 0.9994 min_x = 0.0056 rms_x = 0.5869 3、编写求解方程ax?bx?c?0的根的函数(这个方程不一定为一元二次方程,因a、b、c的不同取值而定),这里应根据a、b、c的不同取值分别处理,有输入参数提示,当 a?0,b?0,c~?0时应提示“为恒不等式!”。并输入几组典型值加以检验。 2M文件: disp('关于方程ax^2+bx+c=0') a=input('请输入系数a='); b=input(' b='); c=input(' c='); if a==0&&b==0 if c==0 disp('解为全体实数'); else disp('为恒不等式!'); end else P=[a,b,c]; x=roots(P) end disp('关于方程ax^2+bx+c=0') a=input('请输入系数a='); b=input(' b='); c=input(' c='); if a==0&&b==0 if c==0 disp('解为全体实数'); else disp('为恒不等式!'); end else P=[a,b,c]; x=roots(P) end 工作空间测试: 关于方程ax^2+bx+c=0 请输入系数a=2 b=4 c=6 x = -1.0000 + 1.4142i -1.0000 - 1.4142i 4、输入一个百分制成绩,要求输出成绩等级A+、A、B、C、D、E。其中100分为A+,90分~99分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。 要求:(1)用switch语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 g=input('请输入成绩'); if g<0||g>100 disp('错误,输入的成绩应为0~100间的数') else g=fix(g/10); switch g case {10} disp('A+'); case {9} disp('A'); case {8} disp('B'); case {7} disp('C'); case {6} disp('D') otherwise disp('E'); end 5、利用for循环语句编写计算n!的函数程序,取n分别为-89、0、3、5、10验证其正确性(输入n为负数时输出出错信息)。 n=input('请输入n='); if n<0 disp('错误,n取值必须为正数'); else y=1; for i=1:n y=y*i; end disp('n!='); disp(y) 测试: 请输入n=6 n!= 720 6、Fibonacci数组的元素满足Fibonacci规则:现要求该数组中第一个大于10000的元素。 a(1)=1; a(2)=1; k=3; a(k)=a(k-1)+a(k-2); while a(k)<10000 k=k+1; a(k)=a(k-1)+a(k-2); 测试: >> ak=a(k) ak = ak?2?ak?ak?1 ,(k?1,2,?);且a1?a2?1。 10946 ?27、根据6?112?122?132?......?1n,求?的近似值。 2要求:(1)分别采用for循环结构以及向量法来编程实现,比较两种方法程序运行时间; (2)当n分别取100、1000、10000时,结果是多少? n=[100 1000 10000]; for j=1:3 y=0; k=n(j); for i=1:k y=y+1/i/i; end pai=sqrt(6*y); disp('n='); disp(n(j)); disp('π的近似值为'); disp(pai); 结果: n= 100 π的近似值为 3.1321 n= 1000 π的近似值为 3.1406 n= 10000 π的近似值为 3.1415 (四)实验要求 1、熟练操作MATLAB7.0运行环境; 2、自主编写程序,必要时参考相关资料; 3、实验前应写出程序大致框架或完整的程序代码; 4、完成实验报告。 (五)实验报告要求 见实验一。 思考题 1、 M文件分为哪两类?这两类M文件的区别是什么? 答:分为命令文件和函数文件 1)函数文件一般都要带参数 , 都要有返回结果 , 而命令文件没有参数与返回结果 2)函数文件的变量是局部变量 , 运行期间有效 , 运行完毕就自动被清除 , 而命令文件的变量是全局变量 , 执 行完毕后仍被保存在内存中 3)函数文件要定义函数名 , 且保存该函数文件的文件名必须是函数名 .m 。M 函数文件可以有多个因变量和多 个自变量 , 当有多个因变量时用[ ] 括起来。 2、 有一分数序列: 1, 3, 5, 8, 1321 22358, 13, 编写一段程序,求前16项的和。 a=2.0; b=1.0; c=a/b; for 1:16 {b=a; a=a+b; d=(a+b)/a; c=c+d; } ?? ?
正在阅读:
《Matlab语言》实验四12-07
系统生物质燃烧发电控制方案09-20
2010年度东华大学数学建模竞赛08-07
古建筑修缮工程施工合同doc1103-09
2012年第三期保荐代表人培训记录之六--新股询价和申购业务管理04-28
【参考文档】小学英语老师2018工作计划-实用word文档 (5页)03-08
第一分卷投标文件技术规范书111-14
诚信,一年级作文02-06
车牌识别系统改造技术规格书12-26
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 语言
- 实验
- Matlab
- 职工之家建设工作暂行规定
- 环境科学概论考试试题(全)
- 老师给的国贸实务答案(案例更新到第七章)
- 国家开放大学电大行政管理专业社会调查报告《关于村干部现状的社会调查报告》
- 2012英语七年级下册unit2及半期复习题
- 《管理学基础》2020期末试题及答案
- 48期答案
- 专四语法练习题2
- 毕业设计开题报告
- 第4章 凸轮机构及其设计习题解答
- 微观经济复习题,及答案(全)
- 最新三年级上学期小学数学竞赛摸底二单元真题模拟试卷(16套试卷)课后复习
- 高中生物必修三第四章第三节—群落的结构(含答案解析)
- 基础护理学第五版10章(饮食与营养)习题及答案
- 光合作用在中学教材中的实验方法综述
- 2018-2019部编人教版小学语文二年级上册期末试卷 - 图文
- 税收优先权与担保物权冲突的解决
- 2019-2020年九年级语文上册第五单元综合测试题新版语文版
- 地下室临电照明方案
- 子路、曾皙、冉有、公西华侍坐学案2015、4