实验3MATLAB程序设计

合集下载

实验三_M_文件及_MATLAB_程序设计与调试

实验三_M_文件及_MATLAB_程序设计与调试

实验三M 文件及MATLAB 程序设计与调试一、实验目的全面掌握在MA TLAB 下进行程序设计的有关问题,具体涉及到M 脚本文件和M 函数文件的编写、全局和局部变量的使用、流程控制结构、提高程序执行效率的设计技术、程序调试等问题。

二、实验内容1、关于M 脚本文件和M 函数文件MATLAB 的M 文件有两类:脚本文件和函数文件。

(1)脚本文件——将原本要在MATLAB 的指令窗口中直接输入的语句,放在一个以.m 为后缀的,称为脚本文件中。

有了脚本文件,可直接在MATLAB 中输入脚本文件名(不含后缀)。

MATLAB 会打开这一脚本文件,并依次执行脚本文件中的每一条语句,这与在MATLAB 中直接输入语句的结果完全一致。

(2)函数文件——它的第一行必须是函数定义行。

M 函数文件由5 部分构成:◆函数定义行◆H1 行◆函数帮助文本◆函数体◆注释注意:在函数文件中,除了函数定义行之外,其它部分都是可以省略的。

但作为一个函数,为了提高函数的可用性,应加上H1 行和函数帮助文本,为了提高函数的可读性,应加上适当的注释。

例如:function y = mean(x)% MEAN Average or mean value.% For vectors, MEAN(X) is the mean value of the elements in X.% For matrices, MEAN(X) is a row vector containing the mean value of each column.[m,n]=size(x);if m==1% Determine whether x is a vectorm=n;endy = sum(x)/m;①函数定义行:function y = mean(x)function 为函数定义的关键字,mean 为函数名,y 为输出变量,x 为输入变量当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。

实验3 MATLAB程序设计

实验3 MATLAB程序设计

实验3 MATLAB程序设计实验3 MATLAB程序设计一、实验目的本实验的主要目的是通过实际的编程练习,掌握和熟悉MATLAB 程序设计的基本知识和技巧。

通过本实验的学习,能够灵活使用MATLAB进行程序设计,解决实际问题。

二、实验内容1. MATLAB语言基础在本部分,我们将介绍MATLAB语言的基本语法和常用函数的使用方法。

1.1. 变量定义和赋值在MATLAB中,可以通过简单的语法来定义和赋值变量。

例如,`a = 10;`表示将值10赋给变量a。

,MATLAB也支持定义矩阵和向量。

1.2. 数学运算MATLAB提供了丰富的数学运算函数,如加法、减法、乘法、除法等等。

通过这些函数,我们能够进行各种数学运算。

1.3. 条件语句和循环语句条件语句和循环语句在程序设计中非常重要。

在MATLAB中,我们可以使用if-else语句来进行条件判断,使用for循环和while 循环来实现循环操作。

2. MATLAB绘图功能MATLAB的绘图功能非常强大,可以用于绘制各种图形,如曲线图、散点图、柱状图等等。

2.1. 绘制曲线图在MATLAB中,通过`plot`函数可以绘制曲线图。

我们可以指定要绘制的曲线的x和y坐标,并可以设置其他参数,如线型、颜色等。

2.2. 绘制散点图通过`scatter`函数可以绘制散点图。

散点图用于展示数据的分布情况,非常直观。

2.3. 绘制柱状图通过`bar`函数可以绘制柱状图。

柱状图用于比较不同类别或不间点的数据。

3. MATLAB文件操作在实际的程序设计过程中,常常需要读取和写入文件。

MATLAB 提供了相关的文件操作函数,方便我们进行文件的读写操作。

3.1. 文件的读取通过`fopen`函数可以打开一个文件,通过`fread`函数可以读取文件的内容。

3.2. 文件的写入通过`fopen`函数可以创建一个文件,并通过`fwrite`函数将数据写入文件中。

三、实验步骤1. 编写MATLAB程序根据实验内容,编写MATLAB程序实现相应功能。

实验三 Matlab程序设计

实验三  Matlab程序设计

实验三Matlab程序设计一、实验目的:掌握MATLAB程序编辑、运行及调试方法,M文件建立方法,函数文件建立方法,程序设计方法。

二、实验内容:1、启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。

点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。

注:数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。

重复此过程,最终得到的结果为1。

如:2→13→10→5→16→8→4→2→16→3→10→5→16→8→4→2→1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。

%classic "3n+1" problem from number theory.while 1n=input('Enter n,negative quits:');if n<=0breakenda=n;while n>1if rem(n,2)==0n=n/2;elsen=3*n+1;enda=[a,n];endaend2.编写如下M 文件,试调整参数a 的大小,观察并记录y1、y2 的波形特征。

然后,保存内存工作区变量a、t、y1、y2 到example1.mat 文件;关闭Matlab,再重新启动;观察内存工作区;重新根据.mat 文件恢复原来的工作区变量。

在命令窗口中查看exp 函数的帮助;运行helpwin 查看超文本格式的帮助文件,试翻译并记录下信号处理工具箱(Signal Processing Toolbox)中的函数分类(Functions -- Categorical List)。

3、编程求满足∑=>mi i 1100002的最小m 值。

Matlab实验报告

Matlab实验报告

实验结果及分析实验1:程序如下x=1:10y=2*x;plot(x,y)仿真结果:实验结果分析:仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。

所以用Maltab 软件很方便地画出规则的直线,方便研究。

实验结果及分析1、A=2、A=1A=实验结果及分析实验三 Matlab在信号与系统中的应用实验名称实验1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法目的实验原理实验1程序:b=[1];a=[1 1];p=;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('冲激响应');subplot(1,2,2);step(b,a,0:p:5);title('阶跃响应');实验内容<设计性实验>1、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。

在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。

<设计性实验>(选做)2、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。

在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。

实验结果及分析实验1仿真结果:simulink仿真环境下冲激响应阶跃响应实验名称实验四 Matlab在数字信号处理中的应用实验结果及分析实验1仿真结果:6khz12kHZ。

实验3 MATLAB程序设计

实验3 MATLAB程序设计

实验3 MATLAB程序设计电子信息工程系实验报告课程名称: MATLAB语言成绩:实验工程名称:实验3 MATLAB程序设计实验时间:2022-4-6 指导教师〔签名〕: 1. 实验目的学习函数的编制,掌握MATLAB的编程应用。

通过不同的程序结构和不同的实际编程问题,掌握MATLAB 的编程方法。

2.实验环境硬件:PC机,根本配置CPU PII以上,内存4G以上;软件:Matlab 版本7.1 3.实验原理MATLAB是一个专门的数学软件,特别是对矩阵进行操作,可以方便快捷的进行矩阵运算,从而简化了人们的脑力,同时能更加准确地计算结果。

4.实验内容及结果分析4.4编写一个程序,计算出坐标系中用户指定两点(X1,Y1)和(X2,Y2)之间的距离。

要求有输入、输出及其相关提示。

编写程序如下: clc; clear;X1=input('please input X1=');Y1=input('Y1='); X2=input('X2=');Y2=input('Y2=');s=sqrt((X1-X2) +(Y1-Y2) );fprintf('两点距离'); disp(s)4.5双曲余弦的定义如下:,编写一个程序,计算出用户指定的x 的值对应的双曲余弦值。

用这个程序计算双曲余弦值的假设干值,并和MATLAB 中的内建函数cosh(x)得到的值比拟看看是否完全相同。

并用MATLAB 打印出这个函数的图象。

编写程序如下:clc; clear;x=input('please input x='); coshx=(exp(x)+exp(-x))/2; disp(coshx) x=1, cosh=1.5431 x=2,cosh=3.7622 x=3,cosh=10.0677可得与内建函数值相等。

图1 利用plot函数绘图4.6电子工程:负载的最大输出功率一个内阻Rs=50Ω,电动势V=120V 的电源驱动一个负载RL。

实验三 MATLAB程序设计

实验三  MATLAB程序设计

实验三 MATLAB 程序设计
1、目的和要求
(1)熟练掌握MATLAB 的程序流程控制结构。

(2)熟练掌握M 文件的结构。

(3)熟练掌握函数调用和参数传递。

2、内容和步骤
参见教材实验五。

3、实验报告提交要求
用for 语句、while 和函数调用三种方式分别对下述两题进行编程,并上机进行操作、运行出结果。

(1) +-+-+-
=)!
2()1(!4!21cos 242n x x x x n
n for 语句方式:
While 语句方式:
函数调用方式:
(2) ++-++-+-=++1
)1(432)1ln(
1
432n x x x x x x n n (-1<x ≤1) for 语句方式:
While 语句方式:
函数调用方式:
(3) ⋯
++⋯+++=!!22!11n x x x e n
x
for 语句方式:
While 语句方式:
函数调用方式:
(4)用所学的流程控制结构编写程序,使其能求ax2+bx+c=0方程的解。

提示根据以下几种情况考虑:
① a=0,不是二次方程;② b2-4ac=0,有两个相等实根;
③ b2-4ac>0,有两个不等实根;④ b2-4ac<0,有两个共轭复根。

① a=0,不是二次方程;
② b2-4ac=0,有两个相等实根;
③ b2-4ac>0,有两个不等实根;
④ b2-4ac<0,有两个共轭复根。

(5)完成P305页中第五章第6题编程,要求用函数式文件完成。

注:函数式文件需说明文件保存名是什么。

《MATLAB程序设计》实验指导书

《MATLAB程序设计》实验指导书

三、
实验仪器和设备
1、 计算机一台。 2、 MATLAB7.0 以上集成环境。
四、
预习要求
2
《MATLAB 程序设计》实验指导书
1、 复习 MATLAB 的启动与Байду номын сангаас出,熟悉 MATLAB 运行环境。 2、 复习 MATLAB 中矩阵的生成以及矩阵运算的基本原理。
五、
实验内容及步骤
实验内容:
1、 求下列表达式的值 1) z1
5
《MATLAB 程序设计》实验指导书
2) 函数调用 函数文件编制好后,就可调用函数进行计算了。函数调用的一般格式为 [输出实参表]=函数名(输入实参表) 注意:函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个 数一致,否则会出错。函数调用时,实参先传递给形参,然后再执行函数功能。 5、 选择结构 1) if 语句 a) 单分支 if 语句 if 条件 语句块 end b) 双分支 if 语句 if 条件 语句块 1 else 语句块 2 end c) 多分支 if 语句 if 条件 1 语句块 1 elseif 条件 2 语句块 2 …… elseif 条件 n 语句块 n else 语句块 n+1 end 2) switch 语句 switch 表达式 case 结果表 1 语句块 1 case 结果表 2 语句块 2 ……
二、
实验原理
1、 M 文件 用 MATLAB 语言编写的程序,称为 M 文件,它们的扩展名均为.m。M 文件根据 调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file) 。 2、 建立新的 M 文件 启动 MATLAB 文本编辑器有 3 种方法: 1) 单击工具栏上的“New M-File”命令按钮。 2) 从 MATLAB 主窗口的“File”菜单中选择“New”菜单项,再选择“M-file”命令。 3) 在 MATLAB 命令窗口输入命令“edit”。 3、 打开已有的 M 文件 1) 在当前目录窗口选中要打开的 M 文件,双击鼠标左键。 2) 单击 MATLAB 主窗口工具栏上的“Open File”命令按钮,再从弹出的对话框中 选择所需打开的 M 文件。 3) 从 MATLAB 主窗口的“File”菜单中选择“Open”命令,在“Open”对话框中选中 所需打开的文件。 4) 在 MATLAB 命令窗口输入命令“edit 文件名” 。 4、 函数文件 1) 函数文件的基本结构 函数文件由 function 语句引导,其基本结构为: function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意:函数名的命名规则与变量名相同。当输出形参多于一个时,应用方括号 括起来。

实验3 MATLAB程序设计

实验3 MATLAB程序设计

实验3 MATLAB程序设计实验3 MATLAB程序设计实验目的1. 学习使用MATLAB进行程序的设计与实现;2. 掌握MATLAB函数的编写与调用方法;3. 掌握MATLAB的编程基础知识。

实验内容编写一个MATLAB程序,实现以下功能:1. 输入一个正整数n;2. 判断该正整数是否为素数;3. 如果是素数,输出该数;4. 如果不是素数,输出该数的所有质因数;输出该数的最大质因数;输出该数的因数个数。

实验步骤3. 编写一个函数`isPrime`,用于判断一个数字是否为素数。

函数定义如下:matlabfunction result = isPrime(n)result = 1; % 假设n是素数if n <= 1result = 0; % 排除小于等于1的数字return;endfor i = 2:sqrt(n)if mod(n, i) == 0result = 0; % n可以被i整除,所以n不是素数break;endendend4. 在主函数中,调用`isPrime`函数判断输入的数字是否为素数,并输出结果;5. 如果输入的数字不是素数,编写一个函数`primeFactors`,用于计算数字的所有质因数,并输出结果。

函数定义如下:matlabfunction primeFactors(n)factors = ; % 存储质因数的数组for i = 2:nwhile mod(n, i) == 0factors = [factors i]; % i是n的质因数n = n / i;endendfprintf('该数的质因数为:');disp(factors);end6. 继续在主函数中,如果输入的数字不是素数,调用`primeFactors`函数计算所有质因数并输出;7. 在主函数中,编写一个函数`maxPrimeFactors`,用于计算数字的最大质因数,并输出结果。

函数定义如下:matlabfunction maxFactor = maxPrimeFactors(n)factors = ; % 存储质因数的数组for i = 2:nwhile mod(n, i) == 0factors = [factors i]; % i是n的质因数n = n / i;endendmaxFactor = max(factors); % 计算最大质因数end8. 继续在主函数中,调用`maxPrimeFactors`函数计算数字的最大质因数并输出;9. 在主函数中,编写一个函数`factorCount`,用于计算数字的因数个数,并输出结果。

实验三MATLAB程序设计

实验三MATLAB程序设计

实验三M A T L A B程序设计(总16页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2014秋2012级《MATLAB程序设计》实验报告班级:软件C121姓名:冯杨腾学号:125692实验三 MATLAB程序设计一、实验目的1、掌握建立和执行M文件的方法。

2、掌握选择结构、多分支选择结构程序的编程方法。

3、掌握多种循环结构程序的编程方法。

4、掌握定义函数文件和调用函数文件的方法。

二、实验内容1、MATLAB M文件的创建与使用。

(1)建立自己工作目录,如D:\MATLAB。

在File菜单中,单击Set Path菜单项,在弹出对话框中建立目标文件夹,:单击Add Folder按钮,将自己的工作目录D:\MATLAB添加到搜索目录之中,按Save按钮保存,如图1。

图1 工作目录设置(2)在M文件编辑器中编制命令行文件。

在File菜单中,单击New—>M-File,弹出M文件编辑器,如图2:图2 编辑器在编辑器中输入如下命令程序:%求小于2000且为2的整数次幂的正整数。

f(1)=2;k=1;while f(k)<1000f(k+1)=f(k)*2;k=k+1;endf,k调试后,将其以形式保存在D:\MATLAB中。

(3)命令行程序运行。

进入命令窗口,键入test1,观察运行结果:f =Columns 1 through 92 4 8 16 32 64 128 256512Column 101024k =10(4) 按上述步骤,在在编辑器中输入如下函数文件: function f=tt(n)%求小于任何正整数且为2的整数次幂的正整数。

%c=n(n)%n 可取任意正整数。

%2004年8月。

f(1)=2; k=1;while f(k)<ceil(n/2) %ceil 函数取最近的正整数 f(k+1)=f(k)*2; k=k+1; end f调试后,将其以形式保存在D:\MATLAB 中。

MATLAB程序设计与应用(第二版)课后实验答案

MATLAB程序设计与应用(第二版)课后实验答案

Matlab课后实验题答案实验一 MATLAB运算基础1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。

(1)0 122sin851ze =+(2)21ln(2z x=,其中2120.455ix+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2.52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A —B+I(其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A(5) [A,B ]和[A ([1,3],:);B^2] 解:3. 设有矩阵A 和B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2).建立一个字符串向量 例如: ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1。

设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。

MATLAB实验报告一二三

MATLAB实验报告一二三

2015秋2013级《MATLAB程序设计》实验报告实验一班级:软件131 姓名:付云雷学号:132872一、实验目的:1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。

2、掌握MATLAB常用命令的使用。

3、掌握MATLAB帮助系统的使用。

4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。

二、实验内容:1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。

图1 MATLAB工作桌面2、MATLAB的常用命令与系统帮助:(1)系统帮助help:用来查询已知命令的用法。

例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。

lookfor:用来寻找未知的命令。

例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。

找到所需的命令後,即可用help进一步找出其用法。

(2)数据显示格式:常用命令:说明format short 显示小数点后4位(缺省值)format long 显示15位format bank 显示小数点后2位format + 显示+,-,0format short e 5位科学记数法format long e 15位科学记数法format rat 最接近的有理数显示(3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。

具体用法如下:↑----重调前一行(可重复使用调用更早的)↓----重调后一行→----前移一字符←----后移一字符home----前移到行首end----移动到行末esc----清除一行del----清除当前字符backspace----清除前一字符(4)MATLAB工作区常用命令:who--------显示当前工作区中所有用户变量名whos--------显示当前工作区中所有用户变量名及大小、字节数和类型disp(x) -----显示变量X的内容clear -----清除工作区中用户定义的所有变量save文件名-----保存工作区中用户定义的所有变量到指定文件中load文件名-----载入指定文件中的数据3、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。

matlab 实验三 matlab程序设计与优化

matlab 实验三 matlab程序设计与优化

matlab 实验三 matlab程序设计与优化Matlab是一种高级的计算机编程语言,广泛应用于科学、工程、金融和其他领域。

在Matlab实验三中,我们将学习Matlab程序设计与优化。

本文将介绍Matlab实验三的内容和要求,并提供一些有用的技巧和建议,帮助读者更好地完成实验。

实验三的主要内容包括:1. Matlab程序设计基础2. Matlab程序优化技巧3. Matlab代码调试方法4. Matlab性能分析工具5. 实例分析与练习题下面我们将逐个介绍这些内容。

1. Matlab程序设计基础在本节中,我们将学习如何使用Matlab编写简单的程序。

以下是一些重要的概念和技巧:1)变量和数据类型:在Matlab中,变量可以存储不同类型的数据,如数字、字符串、逻辑值等。

常见的数据类型包括double、char、logical等。

2)运算符:Matlab支持各种数学运算符,包括加减乘除、幂运算等。

此外,还有逻辑运算符(如and、or)和比较运算符(如==、~=)。

3)控制结构:控制结构可以控制程序执行流程。

常见的控制结构包括if语句、for循环和while循环。

4)函数:函数是一种可重复使用的代码块,可以接受输入参数并返回输出结果。

Matlab中有很多内置函数,也可以编写自己的函数。

2. Matlab程序优化技巧在本节中,我们将学习如何优化Matlab程序以提高其性能。

以下是一些重要的技巧:1)向量化:向量化是一种将循环操作转换为矩阵操作的技术。

这样可以减少程序执行时间,并且使代码更简洁。

2)预分配数组:在编写Matlab程序时,应尽可能避免动态数组分配。

相反,应该预先分配所需大小的数组。

3)使用内置函数:Matlab中有许多内置函数,它们通常比用户自定义函数更快。

因此,在编写程序时应尽可能使用内置函数。

4)避免不必要的计算:在编写程序时,应尽可能避免不必要的计算。

例如,在循环中进行重复计算或计算已知结果等。

Matlab数学实验报告

Matlab数学实验报告

实验一 Matlab基本操作1.实验课程名称数学实验2.实验项目名称Matlab基本操作3.实验目的和要求了解Matlab的基本知识,熟悉其上机环境,掌握利用Matlab进行基本运算的方法。

4.实验内容和原理内容:三角形的面积的海伦公式为:area=)s-sa--)()(s(csb其中: s=(a+b+c)/2原理:将一般数学问题转化成对应的计算机模型并进行处理的能力。

了解Matlab的基本功能,会进行简单的操作。

5.主要仪器设备计算机与Windows 2000/XP系统;Matlab等软件。

6.操作方法与实验步骤步骤:(1)在M文件编辑窗口输入以下程序,并以文件名”area_helen.m”保存:a= input(‘a=‘) ; b= input(‘b=‘) ; c= input(‘c=‘) ;s= (a+b+c)/2;area=sqrt (s* (s-a) * (s-b) * (s-c))(2)在命令窗口输入文件名“area_helen”,按回车键,即可运行上面的程序,输入三边长,立即可得三角形面积(3)第二题在命令窗口输入b=6;a=3;c=a*b,d=c-2*b(4) 按回车键,即可运行上面的程序7.实验结果与分析<1> a=3; b=4; c=5;时,aera=6 当a为3,b为4,c为5时,s=6,aera=6<2> c= 18,d=6,a为3,b为6时,c=18,d=6实验二 Matlab的数值计算1.实验课程名称数学实验2.实验项目名称Matlab的数值计算3.实验目的和要求了解一些简单的矩阵、向量、数组和多项式的构造和运算方法实例,懂得编写简单的数值计算的Matlab程序。

熟悉一些Matlab的简单程序,会用Matlab的工具箱,懂得Matlab的安装和简单的使用。

4.实验内容和原理内容:从函数表:)1(),5.0(),2( ,0x 1x 021x 1x f(x) 32-⎪⎩⎪⎨⎧≤≤<>+=f f f x x求设)1(),2( ,1211)(2-⎩⎨⎧≤>+=f f x xx x x f 求设 原理:利用矩阵、向量、数组、和多项式的构造和运算方法,用常用的几种函数进行一般的数值问题求解。

MATLAB程序设计及应用(第二版)课后实验答案(最新整理)

MATLAB程序设计及应用(第二版)课后实验答案(最新整理)

阵和对角阵,试通过数值计算验证。

22E R RS A OS +⎡⎤=⎢⎥⎣⎦解: M 文件如下;由ans,所以22E R RS A O S +⎡⎤=⎢⎥⎣⎦2. 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。

为什么?解:M 文件如下:因为它们的条件数Th>>Tp,所以pascal 矩阵性能更好。

3. 建立一个5×5矩阵,求它的行列式值、迹、秩和范数。

解: M 文件如下:4. 已知2961820512885A -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求A 的特征值及特征向量,并分析其数学意义。

解:M 文件如图:数学意义:V的3个列向量是A的特征向量,D的主对角线上3个是A的特征值,特别的,的3个列向量分别是D的3个特征值的特征向量。

5. 下面是一个线性方程组:111⎡⎤输出结果:由结果,X和X2的值一样,这表示b的微小变化对方程解也影响较小,而A的条件数算得较小,所以数值稳定性较好,A是较好的矩阵。

6. 建立A矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。

解:M文件如下:分析结果知:sqrtm(A)是类似A的数值平方根(这可由b1*b1=A的结果看出),而sqrt(A)则是对A中的每个元素开根号,两则区别就在于此。

实验三 选择结构程序设计1. 求分段函数的值。

2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。

解:M文件如下:2. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。

其中90分~100分为A ,80分~89分为B ,79分~79分为C ,60分~69分为D ,60分以下为E 。

要求:(1) 分别用if 语句和switch 语句实现。

实验3 MATLAB程序设计

实验3 MATLAB程序设计

实验3 MATLAB程序设计实验3 MATLAB程序设计一、实验目的通过编写MATLAB程序,掌握基本的程序设计能力,提高对于MATLAB语言的熟悉度。

二、实验内容本次实验包含以下三个部分:1. 编写一个程序,计算前n项的斐波那契数列。

2. 编写一个程序,求解一个二次方程的根。

3. 编写一个程序,实现两个矩阵的相乘。

三、实验步骤1. 斐波那契数列编写一个程序,计算前n项的斐波那契数列。

斐波那契数列的前两个数为0和1,之后的每一项都是前两项的和。

matlabfunction fibonacci(n)fib = zeros(1, n);fib(1) = 0;fib(2) = 1;for i = 3:nfib(i) = fib(i-1) + fib(i-2);enddisp(fib);end2. 二次方程的根编写一个程序,求解一个二次方程的根。

用户输入三个系数a、b 和c,程序返回求解得到的根。

matlabfunction [x1, x2] = quadraticEquation(a, b, c)delta = b^2 4ac;if delta < 0fprintf('该方程无实数根\');elseif delta == 0x1 = -b / (2a);x2 = x1;fprintf('该方程有一个重根:x = %.2f\', x1);elsex1 = (-b + sqrt(delta)) / (2a);x2 = (-b sqrt(delta)) / (2a);fprintf('该方程有两个根:x1 = %.2f, x2 = %.2f\ ', x1, x2);endend3. 矩阵相乘编写一个程序,实现两个矩阵的相乘。

用户输入两个矩阵,程序返回相乘得到的矩阵。

matlabfunction result = matrixMultiply(matrix1, matrix2)[m1, n1] = size(matrix1);[m2, n2] = size(matrix2);if n1 ~= m2fprintf('矩阵无法相乘!\');result = ;elseresult = zeros(m1, n2);for i = 1:m1for j = 1:n2for k = 1:n1result(i, j) = result(i, j) + matrix1(i, k) matrix2(k, j);endendendendend四、实验结果1. 斐波那契数列:输入n=10,输出[0 1 1 2 3 5 8 13 21 34]。

实验三 M 文件及 MATLAB 程序设计与调试

实验三 M 文件及 MATLAB 程序设计与调试

实验三M 文件及MATLAB 程序设计与调试一、实验目的全面掌握在MA TLAB 下进行程序设计的有关问题,具体涉及到M 脚本文件和M 函数文件的编写、全局和局部变量的使用、流程控制结构、提高程序执行效率的设计技术、程序调试等问题。

二、实验内容1、关于M 脚本文件和M 函数文件MATLAB 的M 文件有两类:脚本文件和函数文件。

(1)脚本文件——将原本要在MATLAB 的指令窗口中直接输入的语句,放在一个以.m 为后缀的,称为脚本文件中。

有了脚本文件,可直接在MATLAB 中输入脚本文件名(不含后缀)。

MATLAB 会打开这一脚本文件,并依次执行脚本文件中的每一条语句,这与在MATLAB 中直接输入语句的结果完全一致。

(2)函数文件——它的第一行必须是函数定义行。

M 函数文件由5 部分构成:◆函数定义行◆H1 行◆函数帮助文本◆函数体◆注释注意:在函数文件中,除了函数定义行之外,其它部分都是可以省略的。

但作为一个函数,为了提高函数的可用性,应加上H1 行和函数帮助文本,为了提高函数的可读性,应加上适当的注释。

例如:function y = mean(x)% MEAN Average or mean value.% For vectors, MEAN(X) is the mean value of the elements in X.% For matrices, MEAN(X) is a row vector containing the mean value of each column.[m,n]=size(x);if m==1% Determine whether x is a vectorm=n;endy = sum(x)/m;①函数定义行:function y = mean(x)function 为函数定义的关键字,mean 为函数名,y 为输出变量,x 为输入变量。

当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。

实验三MATLAB的程序设计

实验三MATLAB的程序设计
error('k>n,put in again!!');
end
ifk==0
Y=1;
elseifk==1&&n==1
Y=1;
elseifk<=n
Y=(n/k)*c(k-1,n-1);
end
程序测试:
>> c(0,0)
ans =
1
>> c(0,1)
ans =
1
>> c(3,4)
ans =
4
7,计算以下和式,并估计其求和公式以及验证:
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k;
end
测试:
>> s(3)
ans =
6
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^2;
end
测试:
>> s(3)
ans =
14
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^3;
end
测试:
>> s(2)
4
>> Joseph0(7,4)
2
11,求出 之间的所有素数;
M函数文件:
functionout = nprimes(N)
A= [1:N];
A(1)=0;
i=2;
whilei<= floor(sqrt(N));
forj= 2:fix(N/i)
A(i*j) = 0;
end;
i = A(find(A>i,1));

lyh实验3 MATLAB的M文件与编程调试

lyh实验3 MATLAB的M文件与编程调试

实验三 MATLAB的M文件与编程调试实验目的:1、熟悉用Matlab的M文件的编辑的工作环境的使用2、掌握用Matlab编制主程序和子程序的方法。

3、熟悉用Matlab程序调试的几种方法。

4、熟悉常用程序流向控制语句的使用方法。

实验内容1、设:若N=2,取,在4个子图中分别画出曲线,试编m文件,要求:每张子图上标注横坐标x , 纵坐标y ,各张子图标题分别为alph=0、alph=pi/3、alph=pi/2、alph=pi,线形的宽度分别为2、3、4、5,线型分别为实线、虚线、点和点划线,颜色分别为兰、红、绿和黄色。

[提示:用for end 循环语句和 switch case 或if elseif …..分支语句。

标题:title; x、y坐标的标注: xlabel,ylabel线型、颜色、宽度可用Plot(x,y,’-b’,’linewidth’,2) ]clear alln=input('ÊäÈëѧºÅ')if rem(n,2)==0disp('for,switch')elsedisp('for,if')endt=(0:0.1:2*pi)a=[0,pi/3,pi/2,pi];x=sin(t);for ii=1:4subplot(2,2,ii);y=sin(2*t+a(ii));if ii==1plot(x,y,'-b','linewidth',2) title('lyh1234alph=0')elseif ii==2plot(x,y,':r','linewidth',3) title('lyh1234alph=pi/3')elseif ii==3plot(x,y,'.g','linewidth',4)title('lyh1234alph=pi/2')else ii==4plot(x,y,'.-y','linewidth',5) title('lyh1234alph=pi')endend。

MATLAB实验报告

MATLAB实验报告

MATLAB实验报告MATLAB 实验报告姓名:专业:学号:实验⼀ MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。

2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。

MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6 ⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8 标准数组⽣成函数表9 数组操作函数三、实验内容1、学习安装MATLAB软件。

2、学习使⽤help命令,例如在命令窗⼝输⼊help eye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察command window、command history和workspace 等窗⼝的变化结果。

4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。

注意:每⼀次M-file的修改后,都要存盘。

四、实验结果练习A:(1)help rand,然后随机⽣成⼀个2×6的数组,观察command window、command history和workspace等窗⼝的变化结果。

MATLAB程序设计及应用(第二版)课后实验答案

MATLAB程序设计及应用(第二版)课后实验答案

Matlab课后实验题答案实验一 MATLAB运算基础1。

先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。

(1)0 122sin851ze =+(2)21ln(2z x=,其中2120.455ix+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2。

52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A —B+I (其中I 为单位矩阵) (2) A*B 和A 。

*B (3) A^3和A.^3 (4) A/B 及B\A(5) [A,B ]和[A([1,3],:);B^2] 解:3. 设有矩阵A 和B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

4。

完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2)。

建立一个字符串向量例如: ch=’ABC123d4e56Fg9’;则要求结果是:实验二 MATLAB 矩阵分析与处理1。

设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1,编写M 函数实现求一个数是否为素数,再编写一主程序(脚本文件),要求通过键盘输入一个整数,然后调用判断素数函数,从而确定它是否素数。

x=input('请输入一个整数x:');
if myprime(x)
disp('您输入的整数x是一个素数。

')
else
disp('您输入的数x不是一个素数。

')
end
function y=myprime(x)
y=1;
for i=2:fix(sqrt(x))
if mod(x,i)==0
y=0;
end
end
2,编写M 函数统计一数值中零的个数,然后编写脚本文件,实现统计从1—2007 中零的总个数。

function num=number0(a) %统计十进制数值中0的个数
sa=num2str(a);%将数值装化为字符串
num=length(find(sa=='0'));% ));%求取字符串中'0’的个数
y=0;
for a=1:2006
num=number0(a);
y=num+y;
end
disp(y)
504
3,编写程序计算x∈[-3,3],字长0.01:并画出曲线x = -3:0.01:3;
y=zeros(size(x));
for i = 1:length(x)
if -3<= x(i)& x(i)<=-1
y(i)=(-x(i).^2-4*x(i)-3)/
2;
elseif -1<= x(i) &
x(i)<=1
y(i)=-x(i).^2+1;
elseif 1<=x(:,i)<=3
y(i)=(-x(i).^2+4*x(i)-3)/2; end
end
plot(x,y) -3-2-10123
4 ch= menu('please choose a number','1','2','3','4')
switch ch
case 1
a=10-20*rand(1);
case 2
a=5-10*rand(1);
case 3
a=1-2*rand(1);
case 4
a=randn(1);
end
disp(a)
5编写良好的用户界面程序,完成输入全班学生某学期6门课程(任意指定)的成绩,并按学分数分别为2、3、2、4、2、5,进行加权平均,计算出每个学生的加权平均。

a=input('请依次输入语言,数学,英语,物理,化学,生物成绩;如:[68 72 65 68 35 79]:');
w=[2 3 2 4 2.5 1];
sum=0;w1=0;
for e=1:6
w1=w1+w(e);
end
for j=1:6
sum=sum+a(j).*w(j);
end
y=sum./w1;
disp(y)
6、企业发放的奖金按个人完成的利润提成。

分段提成比例K1为:当I≤10万元时K1=10%;当10<I≤20万元时,K1=5%;当20<I≤40万元时,K1=2%;当I>40万元时,I=1%。

function y=lirun(x)
if x<=10
y=x*0.1;
elseif x>10&&x<=20
y=(x-10)*0.05+10*0.1;
elseif x>20&&x<=40
y=(x-20)*0.02+10*0.05+10*0.1;
elseif x>40
y=(x-40)*0.01+10*0.02+10*0.05+10*0.1;
End
X=25;
Y=lirun(x)
9、有一分数序列2/1,3/2,5/3,8/5,13/8,21/13……求前15项的和。

d=0 ;
a(1)=2;
b(1)=1;
a(2)=3;
b(2)=2;
c(1)=a(1)./b(1);
c(2)=a(2)./b(2);
for i=3:15
a(i)=a(i-2)+a(i-1);
b(i)=b(i-2)+b(i-1);
c(i)=a(i)./b(i);
end
for j=1:15
d=d+c(j);
end
disp(d)
24.5701
10、有n个人围成一圈,按列号编号。

从第一个人开始报数,数到m时该人退出,并且下一个人从1开始报数,求出出圈人的顺序。

function y=shaixuan(a,b)
n=a;
x=[1:n];
i=0;m=0;j=1;
while(n>0)
i=i+1;m=m+1;
if(m==b)
k(j)=x(i);j=j+1;n=n-1;
for(v=i:n)
x(v)=x(v+1);
end
m=0;i=i-1;
end
if(i==n)
i=0;
end
end
y=k;
y=shaixuan(20,7)
y =
7 14 1 9 17 5 15 4 16 8 20 13 11 10 12 19 6 18 20 3。

相关文档
最新文档