MATLAB程序设计实验

合集下载

实验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。

实验内容:运用Matlab进行简单的程序设计。

实验方法:基于Matlab环境下的简单程序设计。

实验结果:成功掌握简单的程序设计和Matlab基本编程语法。

实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。

实验内容:在Matlab环境下进行多项式拟合和插值的计算。

实验方法:结合Matlab的插值工具箱,进行相关的计算。

实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。

实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。

实验内容:利用Matlab进行最小二乘法计算。

实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。

实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。

实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。

实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。

实验方法:基于Matlab的ODE工具箱,进行ODE求解。

实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。

总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。

通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。

这些知识和技能对我未来的学习和工作都将有着重要的帮助。

matlab实验五循环结构程序设计实验报告

matlab实验五循环结构程序设计实验报告

实验五:循环结构程序设计实验报告一、实验目的1. 了解循环结构的基本概念和原理;2. 掌握使用Matlab进行循环结构程序设计的方法;3. 提高编程能力和问题解决能力。

二、实验内容1. 学习while循环和for循环的基本语法和用法;2. 设计并编写一些基于循环结构的Matlab程序;3. 分析程序运行结果并进行总结。

三、实验原理循环结构是程序设计中的重要组成部分,它可以让一段代码重复执行多次,从而简化程序的编写。

在Matlab中,循环结构主要有while 循环和for循环两种形式。

while循环在执行循环体前判断条件是否为真,只有条件为真时才会执行循环体;for循环则是指定循环的次数,每次迭代时执行一次循环体。

四、实验步骤与结果1. 编写一个使用while循环的程序,实现1~100的累加。

程序代码如下:```matlabsum = 0;i = 1;while i <= 100sum = sum + i;i = i + 1;enddisp(sum);```运行程序后,得到的结果为5050。

2. 编写一个使用for循环的程序,实现1~10的阶乘。

程序代码如下:```matlabresult = 1;for i = 1:10result = result * i;enddisp(result);```运行程序后,得到的结果为xxx。

五、实验总结通过本次实验,我深刻理解了循环结构的基本概念和原理,掌握了使用Matlab进行循环结构程序设计的方法。

在编写循环程序的过程中,我发现循环结构可以大大简化程序的编写,并且能够高效地处理重复性任务。

我也进一步提高了自己的编程能力和问题解决能力。

本次实验使我对Matlab中的循环结构有了更加深入的了解,我相信这对我的编程能力和日后的学习工作都将大有裨益。

六、实验感想和改进意见通过本次实验,我深刻认识到循环结构在程序设计中的重要性和灵活性。

循环结构能够帮助我们简化程序的编写,提高代码的重用性和可读性,因此在实际的程序设计中,合理地运用循环结构能够大大提高程序的效率和逻辑清晰度。

matlab程序设计实验报告

matlab程序设计实验报告

matlab程序设计实验报告《MATLAB程序设计实验报告》摘要:本实验报告旨在介绍MATLAB程序设计的基本原理和实践操作,通过实验演示和分析,展示了MATLAB在工程领域的应用和重要性。

本报告详细介绍了MATLAB程序设计的基本语法和常用函数,以及如何利用MATLAB进行数据处理、图像处理、信号处理等工程应用。

通过本报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。

1. 引言MATLAB是一种用于算法开发、数据可视化、数据分析和数值计算的高级技术计算语言和交互式环境。

它具有强大的数学计算功能和丰富的绘图工具,广泛应用于工程、科学和金融等领域。

本实验报告将介绍MATLAB程序设计的基本原理和实践操作,帮助读者快速掌握MATLAB的基本技能。

2. 实验目的本实验的主要目的是让读者了解MATLAB程序设计的基本语法和常用函数,掌握MATLAB在工程领域的应用和重要性。

通过实验演示和分析,展示MATLAB 在数据处理、图像处理、信号处理等方面的应用。

3. 实验内容(1)MATLAB程序设计的基本语法和常用函数(2)利用MATLAB进行数据处理的实验演示(3)利用MATLAB进行图像处理的实验演示(4)利用MATLAB进行信号处理的实验演示4. 实验步骤(1)学习MATLAB程序设计的基本语法和常用函数(2)编写MATLAB程序,实现数据处理、图像处理、信号处理等功能(3)进行实验演示和分析,展示MATLAB在工程领域的应用和重要性5. 实验结果与分析通过本实验的学习,读者将能够掌握MATLAB程序设计的基本技能,包括数据处理、图像处理、信号处理等方面的应用。

通过实验演示和分析,读者将了解MATLAB在工程领域的重要性,为工程实践提供有力的支持。

6. 结论MATLAB程序设计是一种强大的工程工具,具有广泛的应用前景。

通过本实验报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。

实验四、Matlab 程序设计

实验四、Matlab 程序设计

实验四 MATLAB 程序设计实验目的:1. 掌握建立和执行M 文件的方法2. 掌握利用if 语句实现选择结构的方法3. 掌握利用switch 语句实现多分支选择结构的方法4. 掌握利用for 语句实现循环结构的方法5. 掌握利用while 语句实现循环结构的方法6. 熟悉利用向量运算来代替循环操作的方法实验内容:1、输入一个x ,求分段函数的值,用if 语句实现。

32,1x 50,6530,6222≠⎪⎩⎪⎨⎧--≠<≤+--≠<-+=x x x x x x x x x x y 及其它且且2、输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E. 其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E. 要求:分别用if 语句和switch 语句实现。

3、某公司员工的工资计算方法如下:a) 工作时数超过120小时者,超过部分加发15%;b) 工作时数低于60小时者,扣发700元;c) 其余按每小时84元计发。

试编程按输入的员工的工时数,计算应发工资。

4、根据2222213121116n ++++= π,求π的近似值。

当n 分别取100,1000,10000时,结果是多少?要求:分别用循环结构和向量运算(使用sum 函数)来实现。

5、根据12151311-++++=n y ,求: a) y<3时的最大n 值。

b) 与(1)的n 值对应的y 值。

6、考虑以下迭代公式:nn x b a x +=+1 其中a 、b 为正的常数。

(1) 编写程序求迭代的结果,迭代的终止条件为5110-+≤-n n x x ,迭代初值x 0=1.0,迭代次数不超过500次。

(2) 如果迭代过程收敛于r ,那么r 的准确值是242a b b +±-,当(a, b)的值取(1,1)、 (8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。

MATLAB程序设计教程(第二版)第三章实验报告

MATLAB程序设计教程(第二版)第三章实验报告
a=1;
for i=1:n
a=((2*i*i*2)/((2*i-1)*(2*i+1)))*a;
end
disp(a);
clear
i=1:n;%用prod函数实现
b=prod((2.*i).*(2.*i)./((2.*i-1).*(2.*i+1)))
6.建立 矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。
班级
Class
姓名
Name
学号
ID
指导老师
Teacher
课程名称
Course
MATLAB
编制日期
Date
实验名称
Title
MATLAB程序设计
一、实验目的(ExperimentTarget)
1.掌握利用if语句、switch语句实现选择结构的方法。
2.掌握利用for语句、while语句实现循环结构的方法。
>> lx2_1
请输入一个百分制分数100
A
>> lx2_1
请输入一个百分制分数90
A
>> lx2_1
请输入一个百分制分数80
B
>> lx2_1
请输入一个百分制分数70
C
>> lx2_1
请输入一个百分制分数60
D
>> lx2_1
请输入一个百分制分数30
E
>> lx2_1
请输入一个百分制分数123
输入出错
(1)
clear
n=input('输入一个数:');%用循环结构实现
>> lx51

《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 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意:函数名的命名规则与变量名相同。当输出形参多于一个时,应用方括号 括起来。

MATLAB程序设计实验

MATLAB程序设计实验
Please enter next sample1
Please enter next sample1
Please enter next sample1
Please enter next sample1
Please enter next sample1
Please enter next sample1
fprintf('The standard deviation is :%f\n',std_dev);
运行结果:
Please enter the first sample:12
Please enter next sample24
Please enter next sample12
Please enter next sample23
elseif n==-1
fprintf('the sum of the two numbers %f\n and %f\n is %f\n',number1,number2,number1-number2);
end
运行结果:
please enter number1 as :5
please enter number2 as:7
disp('良好');
case{'C','c'}
disp('中等');
case{'D','d'}
disp('及格');
case{'E','e'}
disp('对不起,你需要重修!')
otherwise
disp('对不起,输入错误!)

MATLAB程序设计实验1

MATLAB程序设计实验1
a为数组的第一个元素,b为数组的最后一个元素,n表示采样的点数。
测试数据:
b3= linspace(0,10,5)
4)定数对数采样的方法(logspace(a,b,n)):
n为数组的总个数,a为第一个元素,b为数组的最后一个元素。经过常用对数采样生成一维数组。
测试数据:
b4=logspace(-1,1,4)
[px,py] = gradient(z,.2,.2);
contour(v,v,z), hold on, quiver(v,v,px,py), hold off
4)fminbnd、fminsearch、fminunc极值
x1 = 0;
x2 =2*pi;
[x,y] = fminbnd(@func,x1,x2)
a5=tril(a)
a6=triu(a,1)
5.字符串数组的创建和操作实验
1)字符串的创建
a.直接输入的方法创建字符串数组
在直接创建数组的时候,可以直接用单引号将字符串括起来作为一个字符串数组,字符窗中如果有单引号,可以利用转义的方法,在单引号前面在加一个单引号。一个字符串的数组还可以由其他的字符串数组拼接而成。
e./f
11)克罗内克张量积
kron(a,b)表示利用a的每一个元素和b矩阵相乘,乘后分别作为结果矩阵的一块.
a=[1,2,3;4,5,6];
b=[1,0,0;0,1,0;0,0,1];
kron(a,b)
kron(b,a)
12)逻辑与&
当数组中的元素数字不为0,均表示逻辑1。
a=[1,2,3];
b=[3,4,5];
a.cat函数
cat函数用于连接数组,标准形式为c=cat(dim,A1,A2,A3,…)其中,dim表示传见数组的维数,A1,A2,A3表示各个维度上的数组。

MATLAB实验三(1)程序设计

MATLAB实验三(1)程序设计

实验三(1)、MA TLAB程序设计一、实验目的1、掌握建立和执行M文件的方法2、掌握利用if语句和switch语句实现选择结构的方法二、实验内容及步骤1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。

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

要求:1)分别用if语句和switch语句实现2)对不合理的成绩应输出出错信息“输入的成绩不合理”(若成绩出现小数,则只能是“.5”)switch语句clear all;mark=input('请输入分数');switch markcase num2cell(90:0.5:100)result='A';case num2cell(80:0.5:89.5)result='B';case num2cell(70:0.5:79.5)result='C';case num2cell(60:0.5:69.5)result='D';case num2cell(0:0.5:59.5)result='E';otherwiseresult='输入成绩不合理';endresultif语句clear all;a=input('请输入分数');if rem(a,0.5)result='输入有误!';elseif a<=100&&a>=90result='A';elseif a<90&&a>=80result='B';elseif a<80&&a>=70result='C';elseif a<70&&a>=60result='D';elseif a<60&&a>=0result='E';elseresult='输入有误!';endresult2、设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。

MATLAB实验四:MATLAB程序设计 参考答案

MATLAB实验四:MATLAB程序设计 参考答案

function y=f(x) y=(x^3-2*x^2+x-6.3)/(x^2+0.05*x-3.14)
河南财经政法大学数学与信息科学学院
6
实验报告
f(1)*f(2)+f(3)
function f=f(a,b,c) f=g(a)*g(b)+g(c)^2; function g=g(x) g=(x^3-2*x^2+x-6.3)/(x^2+0.05*x-3.14);
a=rand(1,100); [b,c]=sort(a); index=c(1); i=1; while i<=7 if i==8 disp('You Lost!'); i=i+1; else d=input('please input the number you guess:'); if d>index disp('High'); elseif d<index disp('Low'); elseif d==index disp('You won!'); i=9;
syms i j k l n i=1;k=0; n=input('Input n:'); for j=1:n i=i*j; k=k+j; end fprintf('%d!=%d \n Sum(1,...,%d)=%d\n',n,i,n,k);
4、用 while-end 循环语句求不超过 1000 的偶数之和,并求显示出最大值。 s=0,n=0; while s<=1000 n=n+2; s=s+n; if s>1000 break end

实验1 MATLAB使用方法和程序设计

实验1 MATLAB使用方法和程序设计

实验1MATLAB 使用方法和程序设计一、实验目的1、掌握MATLAB 软件使用的基本方法。

2、熟悉MATLAB 的数据表示、基本运算和程序控制语句。

3、熟悉MATLAB 绘图命令及基本绘图控制。

4、熟悉MATLAB 程序设计的基本方法。

二、实验内容1.帮助命令使用Help 命令,查找sqrt (开方)函数的使用方法。

2、矩阵运算(1)矩阵乘法已知A=[12;34];B=[55;78];求A^2*B 。

(2)矩阵除法已知A=[123;456;789];B=[100;020;003];求A\B,A/B 。

(3)矩阵的转置及共轭转置已知A=[5+i ,2-i ,1;6*i ,4,9-i];求A.’,A’。

(4)使用冒号选出指定元素已知A=[123;456;789];求A 中第3列前2个元素;A 中所有列第2,3行的元素。

(5)方括号[]用magic 函数生成一个4阶魔术矩阵,删除该矩阵的第四列。

3、多项式(1)求多项式p(x)=x 3-2x-4的根。

(2)求f (x)=(cos x)2的一次导数。

(3)求微分方程的通解,并验证。

4、基本绘图命令(1)绘制余弦曲线cost =y ,]2,0[π∈t 。

(2)在同一坐标系中绘制余弦曲线0.25)-cos(t =y 和正弦曲线)5.0sin(-=t y ,]2,0[π∈t (3)用plot3函数绘制三维螺线:22xdy xy xe dx -+= sin()cos()x t y t z t =⎧⎪=⎨⎪=⎩(0<t <20)5、基本绘图控制4,0[ 区间上的X1=10sint曲线,并要求绘制](1)线形为点划线,颜色为红色,数据点标记为加号。

(2)使用axis坐标轴控制:显示范围、刻度线、比例、网络线。

(3)使用title、text、xlabel、legend等函数进行标注控制:坐标轴名称、标题、相应文本。

6、MATLAB基本程序设计(1)编写命令文件:计算1+2+…+n<2000时的最大n值。

matlab程序设计实验报告

matlab程序设计实验报告

matlab程序设计实验报告Matlab程序设计实验报告引言:Matlab(Matrix Laboratory)是一种强大的高级编程语言和环境,广泛应用于科学计算、数据分析和工程设计等领域。

本实验报告旨在介绍我在Matlab程序设计实验中的学习和实践经验。

一、Matlab基础知识1.1 Matlab的安装与配置在实验开始前,我们首先需要安装Matlab并进行相应的配置。

Matlab的安装过程相对简单,只需按照官方指引进行操作即可。

配置方面,我们可以设置工作目录、界面风格、字体大小等,以提高工作效率。

1.2 Matlab的基本语法Matlab的语法类似于其他编程语言,但也有一些特殊之处。

例如,Matlab中的变量名不区分大小写,函数名则区分大小写。

此外,Matlab还具有丰富的数学函数库,可以方便地进行各种数值计算。

二、Matlab程序设计实践2.1 数值计算Matlab以其强大的数值计算能力而闻名,我们可以使用Matlab进行各种数学运算和数值计算。

例如,我们可以使用Matlab求解线性方程组、计算矩阵的特征值和特征向量等。

2.2 图像处理Matlab提供了丰富的图像处理函数,可以对图像进行各种操作和处理。

例如,我们可以使用Matlab读取图像文件、调整图像的亮度和对比度、进行图像滤波等。

此外,Matlab还支持图像的显示和保存,方便我们进行结果的展示和分析。

2.3 数据可视化Matlab提供了强大的数据可视化功能,可以将数据以图表的形式直观地展示出来。

我们可以使用Matlab绘制各种类型的图表,如折线图、散点图、柱状图等。

此外,Matlab还支持对图表的样式、标签、标题等进行自定义,以满足不同的需求。

三、实验心得与体会通过这次Matlab程序设计实验,我深刻体会到了Matlab在科学计算和工程设计中的重要性。

Matlab不仅提供了丰富的数学函数库和工具箱,还具备直观的图形界面和友好的交互环境,使得我们能够快速、高效地进行各种计算和分析。

实验1-----Matlab程序设计及绘图

实验1-----Matlab程序设计及绘图

实验一:Matlab程序设计及绘图一、实验目的1、掌握 Matlab 软件使用的基本方法;2、熟悉 Matlab 的编程方法;3、熟悉 Matlab 绘图命令及基本绘图控制。

二、实验内容1.基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π]2.基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;3.程序设计:找出从2开始的前100个素数,并依次排列显示。

三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。

MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink模型编辑窗口。

1.命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。

用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。

在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。

在命令窗口中输入该文件名,这一连串命令就被执行了。

因为这样的文件都是以“.m”为后缀,所以称为m-文件。

2.m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。

在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。

实验五-MATLAB的程序设计

实验五-MATLAB的程序设计

实验五MATLAB的程序设计一、实验目的1.熟悉MATLAB 的编程环境;2.熟悉和掌握脚本文件和函数文件建立与使用方法;3.掌握MATLAB程序设计的流程控制语句;4.掌握函数调用和参数传递;5.熟悉MATLAB 程序调试方法。

二、实验仪器1.计算机2.MATLAB 软件环境三、实验指导1. M 文本文件介绍一个M 文件通常包含五个部分,函数定义语句、H1 帮助行、帮助文本、函数体或者脚本文件语句和注释语句。

一个完整的M 文件的结构为:function f = fact(n) 函数定义语句% Compute a factorial value. H1 行% FACT(N) returns the factorial of N, 帮助文本% usually denoted by N!% Put simply, FACT(N) is PROD(1:N). 注释语句f = prod(1:n); 函数体函数定义语句只在函数文件中存在,定义函数名称、输入输出参数的数量和顺序。

函数定义语句的格式为:function y = fact(x)2. 函数流程控制顺序结构顺序结构是最简单的程序结构,系统在编译程序时,按照程序的物理位置顺序执行。

这种程序容易编制,但是结构单一,能够实现的功能有限。

判断语句(if…else…end)if…endif…else…endif…elseif…else…end1)if…end此时的程序结构如下:if 表达式执行代码块end这是最简单的判断语句,只有一个判断语句,其中的表达式为逻辑表达式,当表达式为真时,执行相应的语句,否则,直接跳到下一段语句。

2)if…else…end当程序有两个选择时,可以选择if…else…end 结构,此时程序结构为:if 表达式执行代码块1else执行代码块2end当判断表达式为真时,执行代码块1,否则执行代码块2。

3)if…elseif…else…end上面的两种形式中,分别包含一个选择和两个选择,当判断包含多个选择时,可以采用elseif 语句,结构为:if 表达式1执行代码块1elseif 表达式2执行代码块2elseif ..................else执行代码块end其中可以包含任意多个elseif 语句。

实验三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));

MATLAB实验报告二

MATLAB实验报告二

实验二 Matlab语言程序设计一、实验内容:1、编写命令文件:计算 1+2+…+n<2000 时的最大 n 值;>> n=1; %将变量初值设为1sum=0;while((sum+n)<2000) %若s<2000成立,则执行下一条语句,否则结束本循环sum=sum+n; %求和运算n=n+1;endsum,n-1 %显示最终s和nsum =1953ans =622、编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15 次幂的和。

function xunhuan(x)sum=0;for(i=0:x)sum=sum+2^i;endy=sum>> xunhuan(15)y =65535function whilexun(x)sum=0;i=0;while(i<x)sum=sum+2^i;i=i+1;endy=sum>> whilexun(16)y =655353、如果想对一个变量 x 自动赋值。

当从键盘输入 y 或 Y 时(表示是),x 自动赋为 1;当从键盘输入 n 或 N 时(表示否),x 自动赋为 0;输入其他字符时终止程序。

a=input('输入一个字符:');switch acase 'y'x=1case 'Y'x=1case 'n'x=0case 'N'x=0otherwiseend输入一个字符:'Y'x =1二、实验思考题1.用FOR和WHILE语句有何要求?答:for语句的基本命令格式为for 循环变量=表达式1表达式3表达式2循环语句组End表达式1、表达式3、表达式2的定义和C语言相似即首先执行循环变量的初始值赋成表达式1的值然后判断循环变量的值介于表达式1和表达式2的值之间则执行循环体中的语句否则结束循环语句的执行。

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

科学计算与数据处理实验报告plot(data);运行结果:保存后选择debug/run菜单或按F5键运行,观察workspace中多出了一个变量data。

b)编写函数stderr验误差function err=stderr(arr)%实验误差(标准差估计)evaluate along each column of arr err=std(arr)./sqrt(size(arr,1)-1);文件存为stderr.m, 运行时输入a=[1;2;3];建立一个列数组a, 然后输入stderr(a)则给出a的方差运行结果:2、编写程序演示循环(for、while)、分支(if-else-end、switch-case)和异常处理(try-catch)控制结构的用法,并尽量体现各种关系运算符(==、~=、<、>、<=、>=)的用法。

a)演示循环(for、while)For循环>> %for循环sum1=0;sum2=0;n=input('请输入一个数:')>> if n<2disp('输入的数大于等于3')elsefor i=1:nsum1=sum1+1sum2=sum2+2endend运行结果:While循环>> %while循环sum11=0;sum22=0;n=input('请输入一个数:') >> if n<2disp('输入的数大于等于3')while n>=0sum11=sum11+1sum22=sum22+2n=n-1endend运行结果:b)分支(if-else-end、switch-case)if-else-end分支结构:>> %if-else-end分支:a=input('请输入一个数字:')a=a+1elsea=a+2end运行结果:switch-case分支结构:>> %switch-case>> n=input('请输入成绩:'); >> k=floor(n/10);switch kcase {8,9,10}disp('优秀')case 7disp('良好')case 6disp('一般')otherwisedisp('不及格')end运行结果:c)异常处理(try-catch)>> a=magic(4);b=eye(3);tryc=a*bc=a(1:3,1:3)*bcatchc=a(1:3,1:3)*bend运行结果:3、编写程序演示return、input、keyboard、pause、break、error、lasterr、warning、lastwarn等指令的功能和用法。

a)return的功能和用法>> %return>> n=input('请输入成绩:');>> k=floor(n/10);switch kcase {8,9,10}disp('优秀')returncase 7disp('良好')returncase 6disp('一般')returnotherwisedisp('不及格')returnend运行结果:b)input的功能和用法>> %input>> n=input('请输入一个数字:');>> k= mod (n,2);switch kcase 1disp('您输入的为奇数') returncase 0disp('您输入的为偶数') returnend运行结果:c)keyboard的功能和用法%keyboard启动键盘管理pause暂停执行>> n=input('请输入成绩:');if n<=0errordlg('请输入大于0的数');keyboardelsek=floor(n/10);switch kcase {8,9,10}disp('优秀')returncase 7disp('良好')returncase 6disp('一般')returnotherwisedisp('不及格')returnendend运行结果:d)pause的功能和用法%pausex=-pi:pi/10:piy1=(sin(x)).^2;subplot(1,2,1);plot(x,y1,'r');pause(5)y2=x.^2+x+3;subplot(1,2,2);plot(x,y2,'g');运行结果:暂停之后:e)break的功能和用法>> %breakfor n=1:100if mod(n,17)~=0continueendbreakenddisp(' 100以的自然数中第一个能被17整除的数是:')disp(n)运行结果:f)error的功能和用法n=input('请输入一个数字:');if(n>0)y=log(n);elseerror('定义域大于0');end运行结果:g)lasterr的功能和用法>> lasterr运行结果:h)warning的功能和用法%warning>> n=input('请输入成绩:');if n<=0warning ('请输入大于0的数');elsek=floor(n/10);switch kcase {8,9,10}disp('优秀')returncase 7disp('良好')returncase 6disp('一般')returnotherwisedisp('不及格')returnendend运行结果:i)lastwarn的功能和用法>> warning('定义域大于0');>> warning('定义域小于0');>> lastwarn运行结果:4、串演算实验:设计实验演示验证eval与feval的功能和用法。

a)eval的功能和用法K>> a='b=magic(4)';eval(a)运行结果:b)feval的功能和用法K>> h=sin;x=-pi:pi/10:pi;y=feval(h,x);运行结果:5、程序调试实验。

a)出错时运行结果:b)改正后把原程序中的xxmu=xmu*size(yy)改为xxmu=xmu*ones(size(yy))。

运行结果:改正后,函数实现的功能:6、程序性能剖析实验profile onrelaxzzy(300)profile viewer运行结果:函数实现的功能:Profile Summary窗口显示:relaxzzy函数的进行运行分析. . ...资料. . .由上例图可知,relaxzzy 函数中最耗时的语句是newplate(j,k)=(plate(jm1,km1)/2+plate(jm1,k)+...plate(jm1,kp1)/2+plate(j,km1)+plate(j,kp1)+...plate(jp1,km1)/2+plate(jp1,k)+plate(jp1,kp1)/2)/6其执行时间为0.651 s ,被调用次数为3000000次。

这个语句可以加速,用过向量化改为矩阵的形式,就可以加速了。

实验总结 MATLAB 脚本和函数的异同点:M 脚本文件与M 函数文件都是由一系列的语句组成的相对独立的一个运行体。

M 脚本文件没有参数传递功能,但M函数文件有此功能。

M 函数文件的格式有严格规定,它必须以“ function ”开头。

函数文件与脚本文件的主要区别在于:函数文件一般都要带参数 , 都要有返回结果 , 而脚本文件没有参数与返回结果。

函数文件的变量是局部变量 , 运行期间有效 , 运行完毕就自动被清除 , 而脚本文件的变量是全局变量 , 执行完毕后仍被保存在存中。

通过这次试验我掌握了M 文件的编写,运行和调试。

知道了函数文件和脚本文件的相同点和不同点。

同时也掌握了matlab 程序设计中的基本语法,关系运算,以及for 和while 循环结构,if-else-end 和switch 的分支结构和异常处理的try-catch 结构。

通过自己调试一个程序,明白了程序调试的基本方法。

自己通过对一个程序的性能剖析,知道了性能剖析的基本方法。

相关文档
最新文档