实验四 M文件的编写
MATLAB实验答案(桂电)
实验一 MATLAB入门(1)1.实验目的:(1)了解MATLAB的体系结构与特点,熟悉其集成开发环境。
(2)熟悉MATLAB界面窗口的功能和使用方法。
(3)熟悉MATLAB的帮助系统及使用方法。
(4)了解MATLAB的的数据类型、基本形式和数组的产生方法。
(5)掌握MATLAB基本的数学运算操作。
2.实验原理(1)MATLAB简介MATLAB是美国MathWorks公司开发的高性能的科学与工程计算软件。
它在数值计算、自动控制、信号处理、神经网络、优化计算、小波分析、图像处理等领域有着广泛的用途。
近年来, MATLAB在国内高等院校、科研院所的应用逐渐普及,成为广大科研、工程技术人员必备的工具之一。
MATLAB具有矩阵和数组运算方便、编程效率极高、易学易用、可扩充性强和移植性好等优点,俗称为“草稿纸式的科学计算语言”。
它把工程技术人员从繁琐的程序代码编写工作中解放出来,可以快速地验证自己的模型和算法。
经过几十年的扩充和完善,MATLAB已经发展成为集科学计算、可视化和编程于一体的高性能的科学计算语言和软件开发环境,整套软件由MATLAB开发环境、MATLAB语言、MATLAB数学函数库、MATLAB图形处理系统和MATLAB应用程序接口(API)等五大部分组成。
MATLAB的主要特点包括强大的计算能力(尤其是矩阵计算能力)、方便的绘图功能及仿真能力、极高的编程效率。
另外,MATLAB还附带了大量的专用工具箱,用于解决各种特定领域的问题。
通过学习软件的基本操作及其编程方法,体会和逐步掌握它在矩阵运算、信号处理等方面的功能及其具体应用。
通过本课程实验的学习,要求学生初步掌握MATLAB的使用方法,初步掌握M文件的编写和运行方法,初步将MATLAB运用于数字信号处理中。
循序渐进地培养学生运用所学知识分析和解决问题的能力。
(2)MATLAB的工作界面(Desktop)与操作MATLAB 安装成功后,第一次启动时,主界面如下图(不同版本可能有差异)所示:其中① 是命令窗口(Command Window ),是MATLAB 的主窗口,默认位于MATLAB界面的右侧,用于输入命令、运行命令并显示运行结果。
m文件程序设计
m⽂件程序设计⼀、实验⽬的1. 通过练习理解matlab编程⽅法;2. 掌握分⽀结构程序设计思路;3. 掌握循环结构程序设计思路。
⼆、实验环境1. 计算机2. matlab7.x三、实验说明1. 熟悉matlab7.x运⾏环境,正确操作,认真观察;2. 实验学时:2学时;3. 学会使⽤help;4. 编写程序前先写出程序的流程图框架;5. ⾃主编写调试程序直到正确为⽌,必要时参考相关资料,;6. 保存整理实验结果,提交实验报告。
四、实验内容1. 输⼊⼀个百分制成绩,要求输出成绩等级为:A、B、C、D、E,其中90-100为A;80-89为B;70-79为C;60-69为D;60以下为E1)⽤if或switch语句实现;2)输⼊百分制成绩后要判断成绩的合理性,对不合理的成绩要输出出错信息提⽰,⽐如:输⼊成绩不能⼤于100。
3)程序保存名为sy3加上本⼈学号2.某公司员⼯的⼯资计算⽅法如下:(1)⼯作时数超过120⼩时者,超过部分加发15%;(2)⼯作时数低于60⼩时者,扣发700元;(3)其余按每⼩时84元计发。
编程按输⼊的⼯号和该员⼯的⼯时数,计算应发⼯资。
3. 根据求的近似值。
当n分别取100、1000、10000时,结果是多少?要求:分别⽤循环结构和向量运算(使⽤sum函数)来实现。
五、实验程序及结果1、程序:m=input('请输⼊⼀个数值:');n=floor(m/10);switch ncase 9disp('A');case 8disp('B');case 7disp('C');case 6disp('D');case {1,2,3,4,5}disp('E');otherwisedisp('输⼊错误!');end2、程序:x=input('请输⼊⼯号:');y=input('请输⼊⼯作时:');if y>120a=84*120+(y-120)*84*0.15;disp(['本⽉⼯资为:',num2str(a)]); elseif y<60b=84*y-700;disp(['本⽉⼯资为:',num2str(b)]); elsec=84*y;disp(['本⽉⼯资为:',num2str(c)]); end3、程序:y=0;n=input('输⼊⼀个数:');for i=1:ny=y+1/i/i;enda=sqrt(6*y);disp(['圆周率近似值为:',num2str(a)]);。
实验四 Matlab编程
实验四Matlab编程【实验目的】1、了解Matlab运行方式2、熟悉Matlab程序流程与结构3、会编写简单的Matlab程序4、掌握M文件编辑器及程序的调试工具【实验内容】1、关系运算与逻辑运算2、m函数文件(function file)和m命令文件(script file)以及m文件的调试3、分支结构和循环结构4、相关语句或函数5、根据要求,完成实验报告中的内容【实验指导】1)关系运算与逻辑运算关系运算符>(大于) <(小于) >=(大于等于) <=(小于等于) ==(等于) ~=(不等于) 逻辑运算符& (与) |(或) ~(非) xor(异或)% 逻辑结果以“1”或者“非零数字”表示真, 以“0”表示假。
测试函数2)m函数文件(function file)基本数学函数自定义函数:以m文件形式出现✓格式:function [y1, y2, ..., yn]=fun_name(x1, x2, ..., xn)✓说明:◆函数名必须符合Matlab变量命名规则。
◆m文件名必须与函数名相同。
◆输出参数只有一个或者没有时,可以省略方括号。
◆输入参数可为0、1、2、...个,但不能省略圆括号。
◆M函数文件第一行必须以funtion开头。
◆函数有自已的工作空间,它与Matlab系统本身的工作空间是分开的。
◆当m文件到终点或者遇到return时结束调用。
◆函数可以调用其他函数,也可以调用自己。
◆一个m文件中可以定义多个函数,第一个出现的为主函数,其他的为子函数。
注意文件名与主函数名相同,子函数只能被主函数调用,而不能被该m文件外的函数或者m文件调用。
✓调用:[y1, y2, ..., yn]=fun_name(x1, x2, ..., xn)3)m命令文件(script file)该文件仅是一连串Matlab指令的集合,执行时按顺序执行。
它没有输入参数与输出参数,中间可以调用函数。
高数之MATLAB例题解析【全】
返回
4
实验目的 1.了解MATLAB软件。 2.熟悉MATLAB软件的基本操作。 3.了解MATLAB软件的功能和使用 方法。 实验内容 1.Desktop操作桌面的启动 2.MATLAB的启动 3.双击桌面上的MATLAB图标。 4.依次点击开始,程序,MATLAB。 5.Desktop操作桌面简介 6.操作桌面的缺省外貌 返回目录 2014-10-7-17:43 返回
9
Command History Command History历史指令窗简介
10
历史指令行的再运行
• 【例4】再运行图1.5-2所示历史指令窗中的三行指令。
11
12
2014-10-7-17:43
13
14
15
练习作业 1.熟悉MATLAB的各窗口功能,并且做简单的使用。 2.熟悉各类运算符和常量与变量的命名与使用。
28
实验目的 1.学习使用MATALAB绘制一元函数图形的方法。 2.通过观察图形特征来分析函数的有关性质。 预备知识 一.显函数 设一元函数y=f(x)的定义域为D,动点(x,f(x))的运动轨迹成 为 函数y=f(x)的图形,,它是一条平面曲线。 二.参数方程 x x(t )
, (a t b) y y(t )
25
n 2.计 算 : sin 50 n0 (1)打开程序编辑器,编辑函数文件 s=0 for n=0:1:50 s=s+sin(n*(pi/50)) end S (2)在保存文件,并且点击运行。 (3)命令窗口得到结果: s= 31.8205
50
26
3.Finbonaci 数列是这样一个数列:它的前两项都为1, 第三项是前两项之和,以后各项都是前两项之和。
Matlab实验及答案
实验一、MATLAB基本操作一、实验目的2.学习使用图形函数计算器命令funtool及其环境。
3. 学习使用help命令进行帮助4. 掌握向量与矩阵的创建以及矩阵的基本操作5. 掌握数组与矩阵的概念二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;掌握数组与矩阵的概念;学会使用help命令进行帮助;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool;1.命令窗口的简单使用(1)简单矩阵的输入(自由创建)x=[1 3 5;2 4 6]x =1 3 52 4 6(2)求[12+2×(7-4)]÷32的算术运算结果,总结算术运算符先级[12+2*(7-4)]/3^2ans =22.有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b的区别A=15;B=20;>> C=A+BC =35>> c=a+bUndefined function or variable 'a'.(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B,分析原因?(A*B是两个矩阵相乘,A.*B是对应元素相乘)A=[1 2 3;4 5 6;7 8 9];B=[9 8 7;6 5 4;3 2 1];>> A*Bans =30 24 1884 69 54138 114 90>> A.*Bans =9 16 2124 25 2421 16 9(3)设a=10,b=20;求i=a/b与j=a\ba=10;>> b=20;>> i=a/bi =0.5000>> j=a\bj =2(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素的线性索引以及行列索引(sub2ind/ind2sub)。
matlab实验四
实验四程序编制实验目的1.熟悉MATHLAB软件中关系运算和逻辑运算2.熟悉MATHLAB软件M函数和M文件编制办法3.练习程序结构与控制,学会编写一般性程序实验内容与要求1.系运算与逻辑运算关系运算夫符主要用来比较数与数,矩阵与矩阵之间的大小,并返回真(用“1”表示)、假(用“0”表示)。
基本的关系运算符主要有6个:>(大于) 、<(小于)、>=(大于等于)、<=(小于等于)、~=(不等于)。
例12<4; %小于运算,结果为14>=7; %大于等于运算,结果为04==3; %等于运算,结果为0,注意,这里的“等于”不能输入“=”4~=3; %不等于运算,结果为1逻辑运算与(&),或(),非(~),异或(xor),变量中非零数逻辑量为真”,0的逻辑量为“假”,逻辑运算结果以“1”表示“真”,已“0”表示假”。
例22=3&0; %”与”运算,两个真值间的结果为1,否则为0,所以这里a=0a=3 0; %”或”运算,有一个真值或两个结果为1,否则为0,所以这里a=1 a=xor(3,5); %”异或”运算,有一个真值结果为1,否则为0,所以这里a=0a=~4; %”非”运算,真变假,假变真,所以这里a=02.M函数文件sin(x),sum(A)都是MATHLAB内嵌的库函数,可以反复调用,十分方便。
用户在实际工作中,往往需要编制自己的函数,已实现计算中的参数传递和函数的反复调用,建立函数文件的方法如下:格式:function [y1,y2,…]=ff(x1,x2,…)。
说明:ff是函数名,x1,x2,是输入变量,y1,y2,是输出变量。
例3已知一作均匀直线运动的物体的初速度为V0,加速度为a,就任意时刻的速度和位移。
建立文件名为ff.m的函数文件:function [v,s]=ff(v0,a,t) %定义函数名和输入,输出v=v0+a*t; %给出输入,输出变量间关系s=v0+a*t^2/2;在命令窗口调用ff函数[v,s]=ff(2,4,5)v=22s=60为了存储M函数,反复可以调用,通过编制一个M函数文件来实现,单击MATLAB中的file-->new M-file即进入文本编辑窗口,输入以上程序并保存(用自动给的文件名)即可。
MATLAB实验四
MATLAB实验四MATLAB程序设计试验报告说明:1 做试验前请先预习,并独立完成试验和试验报告。
2 报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。
3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。
3 报告以Word文档书写。
文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc4 试验报告doc文档以附件形式发送到******************。
凡文档命名不符合规范,或者发送方式不正确,不予登记。
一目的和要求(1)熟练掌握MATLAB的程序设计流程控制结构(2)熟练掌握M文件的结构(3)熟练掌握函数调用和参数传递(4)熟练掌握内联函数的使用(5)了解程序性能剖析窗口二内容和步骤1 (必做)编写M脚本文件,实现:1)从键盘逐个输入学生的某科成绩,计算学生的平均分并输出显示。
2)统计学生成绩分布,其中90分以上为A类,80~89分为B类,70~79分为C类,60~69分为D类,60分以下为E类,统计各类的学生人数,并打印显示。
3)将学生成绩保存到结构数组student. score域和统计成绩分布信息保存数组level中并存作为student. level域,最后把结构数组student保存到score. mat文件中。
(提示:1)成绩输入采用input函数,可采用while循环,提示用户连续输入学生成绩,直到用户输入负数成绩,终止成绩录入。
2)成绩保存可采用save函数)score=0;n=0;sum=0;a=0;b=0;c=0;d=0;e=0;while score>=0if score>=90a=a+1;elseif score>=80elseif score>=70c=c+1;elseif score>=60d=d+1;elsee=e+1;ends um=sum+score;n=n+1;score=input('score:');endaverage=sum/(n-1)fprintf(' A类人数:%d',a)fprintf(' B类人数:%d',c)fprintf(' C类人数:%d',c)fprintf(' D类人数:%d',d)fprintf(' E类人数:%d',e-1)2(必做)有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13... 采用循环迭代求出这个数列的前n项之和。
实验四-异方差性的检验与处理
实验四异方差性的检验及处理〔2学时〕一、实验目的〔1〕、掌握异方差检验的基本方法; 〔2〕、掌握异方差的处理方法.二、实验学时:2学时 三、实验要求〔1〕掌握用MATLAB 软件实现异方差的检验和处理; 〔2〕掌握异方差的检验和处理的基本步骤.四、实验原理1、异方差检验的常用方法<1> 用X-Y 的散点图进行判断<2>.22ˆ(,)(,)e x e y 或的图形,),x )i i y i i ((e 或(e 的图形)<3> 等级相关系数法〔又称Spearman 检验〕是一种应用较广的方法,既可以用于大样本,也可与小样本. 检验的三个步骤 ①ˆt t y y=-i e②|i x i i 将e 取绝对值,并把|e 和按递增或递减次序排序,计算Spearman 系数rs ,其中:21ni i d =∑s 26r =1-n(n -1)③做等级相关系数的显著性检验.n>8时,/2(2),t t n α>-反之,若||i i e x 说明与之间存在系统关系,异方差问题存在.<4> 帕克<Park>检验帕克检验常用的函数形式:若α在统计上是显著的,表明存在异方差性. 2、异方差性的处理方法: 加权最小二乘法 如果在检验过程中已经知道:222()()()i i i ji u Var u E u f x σσ===则将原模型变形为:1211(i i p pi iy x x u f x βββ=+⋅++⋅+在该模型中:即满足同方差性.于是可以用OLS 估计其参数,得到关于参数12,,,pβββ的无偏、有效估计量.五、实验举例例101i i i ,研究不同收入家庭的消费情况,试问原数据有无异方差性?如果存在异方差性,应如何处理?解:〔一〕编写程序如下:〔1〕等级相关系数法〔详见test4_1.m 文件〕%%%%%%%%%%%%%%% 用等级相关系数法来检验异方差性%%%%%%%% [data,head]=xlsread<'test4.xlsx'>; x=data<:,1>; %提取第一列数据,即可支配收入x y=data<:,2>; %提取第二列数据,即居民消费支出y plot<x,y,'k.'>; % 画x 和y 的散点图xlabel<'可支配收入x 〔千元〕'> % 对x 轴加标签 ylabel<'居民消费支出y<千元>'> % 对y 轴加标签%%%%%%%% 调用regres 函数进行一元线性回归 %%%%%%%%%%%%xdata=[ones<size<x,1>,1>,x]; %在x 矩阵最左边加一列1,为线性回归做准备 [b,bint,r,rint,s]=regress<y,xdata>; yhat=xdata*b; %计算估计值y% 定义元胞数组,以元胞数组形式显示系数的估计值和估计值的95%置信区间 head1={'系数的估计值','估计值的95%置信下限','估计值的95%置信上限'}; [head1;num2cell<[b,bint]>]% 定义元胞数组,以元胞数组形式显示y 的真实值,y 的估计值,残差和残差的95%置信区间 head2={'y 的真实值','y 的估计值','残差','残差的95%置信下限','残差的95%置信上限'};[head2;num2cell<[y,yhat,r,rint]>]% 定义元胞数组,以元胞数组形式显示判定系数,F统计量的观测值,检验的P值和误差方差的估计值head3={'判定系数','F统计量的观测值','检验的P值','误差方差的估计值'};[head3;num2cell<s>]%%%%%%%%%%%%% 残差分析 %%%%%%%%%%%%%%%%%%figure;rcoplot<r,rint> % 按顺序画出各组观测值对应的残差和残差的置信区间%%% 画估计值yhat与残差r的散点图figure;plot<yhat,r,'k.'> % 画散点图xlabel<'估计值yhat'> % 对x轴加标签ylabel<'残差r'> % 对y轴加标签%%%%%%%%%%%%调用corr函数计算皮尔曼等级相关系数res=abs<r>; % 对残差r取绝对值[rs,p]=corr<x,res,'type','spearman'>disp<'其中rs为皮尔曼等级相关系数,p为p值'>;〔2〕帕克〔park〕检验法〔详见test4_2.m文件〕%%%%%%%%%%%%%%% 用帕克〔park〕检验法来检验异方差性%%%%%%%[data,head]=xlsread<'test4.xlsx'>; %导入数据x=data<:,1>;y=data<:,2>;%%%%%% 调用regstats函数进行一元线性回归,linear表带有常数项的线性模型,r表残差ST=regstats<y,x,'linear',{'yhat','r','standres'}>;scatter<x,<ST.r>.^2> % 画x与残差平方的散点图xlabel<'可支配收入<x>'> % 对x轴加标签ylabel<'残差的平方'> %对y轴加标签%%%%%%% 对原数据x和残差平方r^2取对数,并对log<x>和log〔r^2〕进行一元线性回归ST1=regstats<log<<ST.r>.^2>,log<x>,'linear',{'r','beta','tstat','fsta t'}>% 输出参数的估计值% 输出回归系数t检验的P值% 输出回归模型显著性检验的P值<3>加权最小二乘法〔详见test4_3.m文件〕%%%%%%%%%%% 调用robustfit函数作稳健回归 %%%%%%%%%%%%[data,head]=xlsread<'test4.xlsx'>; % 导入数据x=data<:,1>;y=data<:,2>;% 调用robustfit函数作稳健回归,返回系数的估计值b和相关统计量stats[b,stats]=robustfit<x,y> %调用函数作稳健回归stats.p% 输出模型检验的P值%%% 绘制残差和权重的散点图%%%%%%%plot<stats.resid,stats.w,'o'> %绘制残差和权重的散点图xlabel<'残差'>ylabel<'权重'〔二〕实验结果与分析:第一步::用OLS方法估计参数,并保留残差〔1〕散点图图4.1 可支配收入〔x〕居民消费支出〔y〕散点图因每个可支配收入x的值,都有5个居民消费收入y与之对应,所以上述散点图呈现此形状.〔2〕回归模型参数估计值与显著性检验表1'系数的估计值' '估计值的95%置信下限' '估计值的95%置信上限'[ -0.5390] [ -3.7241] [ 2.6460][ 0.8091] [ 0.6768] [ 0.9415]'判定系数' 'F统计量的观测值' '检验的P值' '误差方差的估计值'[ 0.8485] [ 156.8387] [5.4040e-13] [ 9.1316]由输出结果看,常数项和回归系数的估计值分别为-0.539和0.8091,从而可以写出线性回归方程为^=−0.539+0.8091∗xy回归系数的估计值的95%置信区间为[0.6768,0.9415].对回归直线进行显著性检验,原假设和对立假设分别为H0:β1=0 H1:β1≠0检验的P值为5.4040×10−13<0.01,可知在显著性水平α=0.01下应拒绝原假设H0,可认为y〔居民消费收入〕与x〔可支配收入〕的线性关系是显著的.〔3〕方差分析图4.2原始数据对应残差图从残差图可以看到有2条线段〔红色虚线〕与水平线y=0没有交点,它对应的观测号为22和29,也就是说这两组观测对应的残差的置信区间不包含0点,可认为这两组观测数据为异常数据.它们分别是〔30,16.7〕,〔35,20〕.第二步:异方差性检验〔1〕图示法图4.3<2> 等级相关系数法在y与x 的OLS 回归的基础上计算出残差的绝对值,并记为res,并计算出皮尔曼等级相关系数rs=0.4860与对应的p值为0.0065<0.05〔*〕,说明残差r与x 存在系统关系,即存在异方差问题.〔3〕帕克<Park>检验法1〕散点图图4.4可支配收入与残差平方的散点图从图4.4可知,可考虑拟合指数曲线.现将其取对数,即可进行一元线性拟合.2〕回归系数与模型检验做ln<r^2>对ln<x>回归,得到表2β0=-8.49730.02950.0207β1=2.96790.0207从上表可以看出,得到的回归模型为ln (r 2)=−8.4973+2.9679∗ln (x),常数项和线性项的t 检验的P 值均小于0.05,说明回归方程中常数项和线性项均是显著的.并且,检验的P 值为0.0207小于0.05,说明整个回归方程是显著的,表明存在异方差性.综上所述,通过以上3种方法的检验,我们得到原数据存在异方差性.第三步:用加权最小二乘法处理异方差性表3‘回归系数’回归系数t 检验的P 值β0=-1.6091 0.2375β1=0.8870 0.0000由表3得:回归方程为 y ^=−1.6091+0.887x ,由p 值可知x 的回归系数是显著的,常数项未显著,说明其无实际意义.图4.5 残差和权重的散点图由图4.5知:权重集中在最上方的1附近的点比较多,说明稳健性比较好.六、实验内容01i i i FDI u ββ=++若用线性模型GDP ,研究不同地区FDI 和GDP 的关系,试问原数据有无异方差性?如果存在异方差性,应如何处理?七、思考练习现用线性模型01i i i y x u ββ=++ ,研究不同收入水平家庭的消费情况,试问原数据有无异方差性?如果存在异方差性,应如何处理?八、参考文献[1].李宝仁.计量经济学[M].机械工业出版社,2007.12 [2].何晓群. 应用回归分析[M].中国人民大学出版,2002.9。
《Matlab语言》实验四
《Matlab语言》实验四实验四、Matlab的程序设计(一)实验目的1.掌握利用if语句实现选择结构的方法。
2.掌握利用witch语句实现多分支选择结构的方法。
3.掌握利用for 语句实现循环结构的方法。
4.掌握利用while语句实现循环结构的方法。
5.掌握Matlab函数的编写及调试方法。
(二)实验环境1.计算机2.MATLAB7.0集成环境(三)实验内容1、编写一个函数,计算下面函数的值,给出标量某的值,调用该函数后,返回y的值。
functiony=myfun1(某)in某,y(某)某,某6,某00某3某3选择一些数据测试你编写的函数。
function[y]=myfun1(某)if某<=0 y=in(某);eleif某>0&某<=3y=某;eleif某>3y=-某+6;End结果:>>某=5;>>[y]=myfun1(某)y=12、编写一个函数求向量某中元素的平均值、最大值、最小值、均方根值。
function[m_某,ma某_某,min_某,rm_某]=myfun2(某)方均根值(RootMeanSquare)的计算公式为:rm1NNi1某i2用下面数据测试你写的函数:function[m_某,ma某_某,min_某,rm_某]=myfun2(某)%求平均值um_某=um(某);%向量元素求和[m,n]=ize(某);%最好用n=length(某);m_某=um_某/n;%求最大值采用逐个比较方式if某(1)>某(2)ma某_某=某(1);ele ma某_某=某(2);endfork=3:nifma某_某elema某_某=ma某_某;%可省略endend%求最小值if某(1)min_某=某(2);endfork=3:nifmin_某>某(k)min_某=某(k);elemin_某=min_某;%可省略endend%求均方根值um_某2=0;fork=1:num_某2=um_某2+某(k).^2;rm_某=qrt(um_某2/n);endm_某;ma某_某;min_某;rm_某;%按照函数值行(1)某=in(0:0.01:6某pi)运行结果:>>某=in(0:0.01:6某pi);>>[m_某,ma某_某,min_某,rm_某]=myfun2(某)m_某=-1.1256e-007ma某_某=1.0000min_某=-1.0000rm_某=0.7071(2)某=rand(1,200),得到的某为200个(0,1)之间均匀分布的随机数。
实验五---M文件的编写与调试(答案)
MATLAB实验报告
专业班级
姓名
学号
成绩评定
电气与信息学院
和谐勤奋求是创新
实验教学考核和成绩评定方法
1.课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。
实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。
2.单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。
3.实验考核内容包括:1〕实验预习;2〕实验过程〔包括实验操作、实验记录和实验态度、表现〕;3〕实验报告;权重分别为0.2 、0.4 、0.4;原则上根据上述三个方面进行综合评定。
学生未取得1〕和2〕项成绩时,第3〕项成绩无效。
4.实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。
实验成绩在教师手册中有记载。
实验报告主要内容
一.实验目的
二.实验仪器及设备
三.实验原理
四.实验步骤
五.实验记录及原始记录
六.数据处理及结论
七. 思考题
八.实验体会〔可选项〕
注:1. 为了节省纸张,保护环境,便于保管实验报告,统一采用A4纸,实验报告建议双面打印〔正文采用宋体五号字〕或手写,右侧装订。
2. 实验类别指验证、演示、综合、设计、创新〔研究〕、操作六种类型实验。
3. 验证性实验:是指为了使学生稳固课程基本理论知识而开设的强调演示和证明,注重实验结果〔事实、
概念或理论〕的实验。
4. 综合性实验:是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。
5. 设计性实验:是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。
实验4答案 Matlab程序设计1
实验4 Matlab 程序设计1实验目的:1、 掌握建立和执行M 文件的方法;2、 掌握实现选择结构的方法;3、 掌握实现循环结构的方法。
实验内容:1. 从键盘输入一个4位整数,按如下规则加密后输出。
加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。
a = input('请输入一个四位整数:');a1 = fix(a/1000);a2 = rem(fix(a/100),10);a3 = rem(rem(fix(a/10),100),10);a4 = rem(a,10);a1 = rem(a1+7,10)a2 = rem(a2+7,10)a3 = rem(a3+7,10)a4 = rem(a4+7,10)b1 = a1;a1 = a3;a3 = b1;b2 = a2;a2 = a4;a4 = b2;b = a1*1000+a2*100+a3*10+a42. 求分段函数的值。
,x x x x y x x x x x x x ⎧+- <≠-⎪=-+ ≤<≠≠⎨⎪-- ⎩2226035605231且且及其他用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。
x = input(请输入X 的值:');if x <0 & x~=-3y = x.*x +x-6;elseif x>=0 & x<5 & x~=2 & x~=3y = x.*x-5*x+6;elsey = x.*x-x-1;endy3.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:(1)分别用if语句和swich语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
matlab m文件基本编程与常规pid实验心得
一、概述Matlab是一种强大的科学计算和工程仿真软件,被广泛应用于各个领域的数学建模、数据分析和算法设计中。
在Matlab中,M文件是一种包含Matlab代码的文本文件,通常用于编写自定义函数和脚本。
编写M文件是Matlab编程的基本技能之一,在工程领域中使用Matlab进行PID控制器的设计和调试也是十分常见的。
本文将主要介绍Matlab M文件的基本编程方法以及在常规PID调试实验中的心得体会。
二、Matlab M文件基本编程1. 新建M文件在Matlab中,可以通过点击“文件”菜单下的“新建”来创建一个新的M文件。
也可以直接在当前路径下右键点击“新建”来创建一个M文件。
创建成功后,会弹出一个编辑器窗口,里面可以编写Matlab 代码。
2. 编写Matlab代码在M文件的编辑器窗口中,可以编写Matlab代码。
Matlab的代码编写格式与其他编程语言类似,但是语法和函数库是独特的。
在编写代码时,需要注意语法的正确性和代码的规范性,以便提高代码的可读性和可维护性。
3. 保存和运行M文件在编写完Matlab代码后,可以点击编辑器窗口上方的“保存”按钮来保存M文件。
保存之后,可以点击编辑器窗口上方的“运行”按钮来执行M文件中的代码。
执行完毕后,可以在Matlab命令窗口中查看代码的运行结果。
4. 调试和优化在编写和运行M文件的过程中,可能会出现各种错误和异常情况。
这时需要使用Matlab提供的调试工具来查找和修复问题。
还可以通过优化算法和技巧来改进代码的性能和效率,提高代码的质量。
三、常规PID实验心得1. PID控制器设计在工程领域中,PID控制器是一种常见的控制器类型,用于实现系统的稳定和响应。
在设计PID控制器时,需要考虑系统的动态特性和性能要求,通过调整PID参数来优化控制效果。
2. PID控制器调试在实际应用中,PID控制器的调试是一项重要的工作。
通过对系统进行参数调整和控制仿真,可以验证PID控制器的性能和稳定性,找到最优的控制参数组合。
实验四 种群数量的状态转移——微分方程
实验四种群数量的状态转移——微分方程一、实验目的及意义[1] 归纳和学习求解常微分方程(组)的基本原理和方法;[2] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析;[3] 熟悉MATLAB软件关于微分方程求解的各种命令;[4] 通过范例学习建立微分方程方面的数学模型以及求解全过程;通过该实验的学习,使学生掌握微分方程(组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB软件求解微分方程的基本命令,学会建立微分方程方面的数学模型。
这对于学生深入理解微分、积分的数学概念,掌握数学的分析思维方法,熟悉处理大量的工程计算问题的方法是十分必要的。
二、实验内容1.微分方程及方程组的解析求解法;2.微分方程及方程组的数值求解法——欧拉、欧拉改进算法;3.直接使用MATLAB命令对微分方程(组)进行求解(包括解析解、数值解);4.利用图形对解的特征作定性分析;5.建立微分方程方面的数学模型,并了解建立数学模型的全过程。
三、实验步骤1.开启软件平台——MATLAB,开启MATLAB编辑窗口;2.根据微分方程求解步骤编写M文件3.保存文件并运行;4.观察运行结果(数值或图形);5.根据观察到的结果和体会写出实验报告。
四、实验要求与任务根据实验内容和步骤,完成以下实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论)基础实验1.求微分方程的解析解, 并画出它们的图形,y’= y + 2x, y(0) = 1, 0<x<1;y’’+y cos(x) = 0, y(0)=1, y’(0)=0;2.用向前欧拉公式和改进的欧拉公式求方程y’=y - 2x/y, y(0) = 1 (0≤x≤1,h =0.1) 的数值解,要求编写程序,并比较两种方法的计算结果,说明了什么问题?3.Rossler 微分方程组:当固定参数b=2, c=4时,试讨论随参数a 由小到大变化(如a ∈(0,0.65))而方程解的变化情况,并且画出空间曲线图形,观察空间曲线是否形成混沌状?4.Apollo 卫星的运动轨迹的绘制应用实验 5.盐水的混合问题一个圆柱形的容器,内装350升的均匀混合的盐水溶液。
MATLAB实验报告
实验一基本操作和简单语句输入一、实验环境计算机MATLAB软件二、实验目的1、熟悉MATLAB的命令窗口。
2、掌握MATLAB的一些基本操作,能够进行一般的数值计算。
3、实现语句的重调和修改。
三、实验内容与步骤1、启动MATLAB2、观察MATLAB窗口的各个组成部分(1)了解菜单栏各窗口项的功能,用鼠标打开MA TLAB的各个菜单,在状态栏里显示当前鼠标所指的菜单项的含义。
(2)用鼠标指向常用工具栏的每个工具按钮,了解各工具按钮的含义。
3、命令窗口的打开和关闭(1)查看菜单窗口中有哪些菜单命令。
(2)在命令窗口中输入命令a=3;b=4;y=a*b+a/b,然后回车,查看命令显示结果。
>> a=3;b=4;y=a*b+a/b,y =12.7500(3)利用MATLAB中编辑命令时常用的按键功能,调用上一个语句,对它进行修改(如把分号改成逗号,看运行结果),并把运行结果复制到word中保存。
>> a=3,b=4,y=a*b+a/b,a =3b =4y =12.7500(4)关闭命令窗口。
(5)打开命令窗口。
4、使用MATLAB帮助熟悉MATLAB的帮助系统,通过帮助系统了解有关内容。
5、在命令窗口中输入demo,将出现MA TLAB的演示窗,通过演示窗,对MATLAB 的功能进行一次浏览。
四、练习1、计算y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x),x=2,x=3时的值。
>> x=2;y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)y =-4.4697>> x=3;y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)y =10.38652、计算cos(pi/3)-sqrt(9-sqrt(2))>> cos(pi/3)-sqrt(9-sqrt(2))ans =-2.25423、已知:a=3,A=4,b=a^2,B=b^2-1,c=a+A-2*B,C=a+B+2*c,求:C>> a=3;A=4;b=a^2;B=b^2-1;c=a+A-2*B;C=a+B+2*cC =-2234、复数z1=1+3*i,z2=1+2*i,z3=2*exp((pi/6)*i),求z=(z1*z2)/z3>> z1=1+3*i;z2=1+2*i;z3=2*exp((pi/6)*i);z=(z1*z2)/z3z =-0.9151 + 3.4151i实验二矩阵和数组的操作一、实验环境计算机MATLAB软件二、实验目的1、掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。
Matlab基础及应用实验指导书
Matlab 基础及应用实验指导书实验一Matlab的基本操作实验目的:掌握Matlab的基本操作方法实验内容:1、使用变量与基本运算;2、向量与矩阵的处理;3、程序流程控制;4、M 文件编辑。
参照教材相关内容向量生成:x=linspace(0,2*pi);y=sin(x);plot(x,y)plot(x,sin(x),'o',x,cos(x),'x',x,sin(x)+cos(x),'*');数据导入1.菜单File—Import—Data,支持Excel、txt等;2.在Workspace窗口中双击数据表名,在Array Editor中将数据复制进去即可。
绘图1将数据表的各列数值分别赋予变量x、y、z等,格式如下:x=sheetname(:,1), y=sheetname(:,2), z=sheetname(:,3);2用命令plot(x,y,’XXXX’)绘制图形,单引号中的符号表示点线的属性,如线形、颜色、点的形状等,若用双对数坐标画图则命令为loglog(x,y);3在弹出的绘图界面中用菜单View—Property Editor编辑图形属性,如字体大小、数据点形状、横纵坐标名称、绘图区域颜色等;4绘图方法2:在数组编辑器上点击Plot Selection按钮,选择图形的类型即可;5绘图方法3:菜单File—New—Figure创建新的图形,在图形编辑器中Figure Palette面板点击2D Axes,点击右下角Add Data选择图表类型和坐标轴的数据源,度分布图将坐标轴由线形改为对数即可。
6hold on/off命令:叠绘命令,切换绘图的保持功能;7绘制双纵轴:7.1plotyy(x1,y1,x2,y2):分别用左/右侧y轴表示两条曲线;7.2plotyy(x1,y1,x2,y2,FUN):FUN是字符串格式,用来指定绘图的函数名,可以由多个。
仿真软件实验实验报告
四川大学课程实验报告课程名称:学生姓名:学生学号:专业:系统仿真综合实验一、实验目的系统仿真是运用仿真软件(如simio)创造模型来构建或模拟现实世界的虚拟实验室,它能过帮助你探寻你所关注的系统在给定的条件下的行为或状态,它还能帮助你在几乎没有风险的情况下观察各种改进和备选方案的效果。
尤其是对一些难以建立物理模型和数学模型的复杂的随机问题,可通过仿真模型来顺利地解决预测、分析和评价等系统问题。
通过本次simio系统仿真综合实验,掌握并能熟练使用系统仿真软件simio,利用simio 建立模型,能体验其3d动画效果,并根据需求设定系统参数,如server的processing time、initial capacity,source的interarrival time参数等。
运行并分析系统各个资源的利用率、排队队长及服务等待时间,能发现系统存在的问题,比较各个排队系统的系统资源利用率、排队队长和服务等待时间,评价排队系统的优劣。
二、实验地点及环境四川大学工商管理学院的学院大楼综合实验室,运用pc机及simio系统仿真软件,在老师的指导下完成此次系统仿真实验。
三、实验步骤㈠、建立模型1. modelⅰ首先加入一个source、三个server、一个sink、一个modeentity,并用path连接。
将source更名为arrive,sink更名为depart,modelentity更名为customer。
设置运行时间8小时。
顾客的到达为poisson流,到达间隔时间为均值为15秒钟的指数分布,故arrive设置interarrival time 参数值为random.exponential(15),并选择units为seconds;服务(售票)时间服从指数分布,平均时间为45秒钟,故3个server都设置为interarrival time 参数值为random.exponential(45),并选择units为seconds。
matlab实验四函数编写与程序设计
实验四:函数编写与程序设计一、实验目的1 . 掌握M文件的创建。
2.掌握函数的编写规则。
3.掌握函数的调用。
4 . 掌握基本的输入输出函数以及显示函数的用法。
5.会用Matlab程序设计实现一些工程算法问题。
二、实验内容1 . 设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。
a=input('请输入一个数:')b=input('请输入一个数:');fuhao=input('请输入一个运算符号(+-*/):','s');switch fuhaocase {'+'}he=a+b;disp(['和=',num2str(a),'+',num2str(b),'=',num2str(he)]);case {'-'}he=a-b;disp(['减=',num2str(a),'-',num2str(b),'=',num2str(he)]) case {'*'}he=a*b;disp(['乘=',num2str(a),'*',num2str(b),'=',num2str(he)]) case {'/'}he=a/b;disp(['除=',num2str(a),'/',num2str(b),'=',num2str(he)]) otherwise disp('请输入正确的符号');end2 . 求下列分段函数的值2 2 26,0 56,1,yχχχχχχχχχχχ⎧+-<≠⎪=-+≤≠≠⎨⎪--⎩且-30<10,2且3其他要求:用if语句实现,分别输出x = -5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。
MATLAB)课后实验答案[1]
MATLAB)课后实验答案[1]实验⼀ MATLAB 运算基础1. 先求下列表达式的值,然后显⽰MATLAB ⼯作空间的使⽤情况并保存全部变量。
(1) 0122sin851z e =+(2) 221ln(1)2z x x =++,其中2120.455i x +??=?- (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4) 2242011122123t t z t t t t t ?≤=-≤,其中t =0:0.5:2.5 解: M ⽂件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5]; z2=1/2*log(x+sqrt(1+x^2)) a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建⽴⼀个字符串向量,删除其中的⼤写字母。
解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建⽴⼀个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]ch =实验⼆ MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S=?,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对⾓阵,试通过数值计算验证22E R RS A O S +??=。