实验六 M函数文件编程

合集下载

数学实验第三章M文件

数学实验第三章M文件

练习与思考题
1.叙述古希腊三大难题之一的化圆为方问题,并用实验
数据显示误差。
2. 用一句话说明循环控制语句的特点。
3.说明for循环while循环语句的相同和不同之处。
4.修改“试商法判断素数”的程序,产生100以内的
全部素数。
5.用help命令获取primes的使用方法,用求素数函 数primes()产生100以内的全部素数。
例2.1 将地球模型取为半径为R=6400(km) 的球体,计算高度为1万公里的地球同步卫 星对地面的覆盖率 在编辑窗口编写文件 planet.m 在命令窗口键入 planet 结果显示: ans = 30.4878
R=6400; S0=4*pi*R*R; d=10000; S=2*pi*R*R*d/(R+d); S/S0*100
例2.11、分析函数性质
1 1 f ( x) 6 2 2 ( x 0.3) 0.01 ( x 0.9) 0.4
编写函数文件 function y=h1(x) y = 1 ./ ((x-.3).^2 + .01) + 1 ./ ((x-.9).^2 + .04) - 6;
存盘后,回到MATLAB命令窗口 fplot(‘h1’,[0, 2]) grid
值得指出的是,并不是所有函数的定义都一定要用文件 实现。对于一个表达式比较简单的函数可以使用内嵌函 数来实现。使用格式为: f=inline('表达式') 上面格式中,f是函数名,函数自变量根据表达式2)*pi; x=sin(t);y=cos(t); z=cos(2*t); plot3(x,y,z,'b-',x,y,z,'bd')
例2.6巴拿马草帽

MATLAB-程序设计-M文件建立

MATLAB-程序设计-M文件建立

1、先建立函数M文件fun2.m来定义函数f(x) function f=fun2(x) 1 else if x<=0
f=x^3 else
f=2*x end end
2、再在MATLAB命令窗口输入fun2(2),fun2(0.5), fun2(-1)即可.
MATLAB入门
程序设计
M文件
MATLAB的内部函数是有限的,有时为了研究 某一个函数的各种性态,需要为MATLAB定义新函 数,为此必须编写函数文件. 函数文件是文件名后 缀为M的文件,这类文件的第一行必须是一特殊字 符function开始,格式为:
function 因变量名=函数名(自变量名) 函数值的获得必须通过具体的运算实现,并赋 给因变量.
2x x 1
1、编写函数M文件 function f=fun1(x) if x>1
f=x^2+1 end if x<=1
f=2*x end
2、在MATLAB命令窗口输入fun1(2),fun1(-1)即可.
2) 有两个选择的一般形式是: if (expression1) {commands1} else {commands2} end
例: 设银行年利率为11.25%.将10000元钱存入银行, 问多长时间会连本带利翻一番?
money=10000; years=0; while money<20000
years=years+1; money=money*(1+11.25/100); end years money
运行结果:
years =7 money = 2.1091e+004
3. if-else-end结构
(1)有一个选择的一般形式是: if (expression) {commands} end

实验6 函数文件实现MATLAB程序设计

实验6 函数文件实现MATLAB程序设计
实验六
函数文件实现 MATLAB 的程序设计
实验六
函数文件实现 MATLAB 的程序设计
一、 实验目的:掌握 MATLAB 编程语言的基本控制结构和控制转移语句, 学会用函数文件实现 MATALB 程序设计。 二、 本实验的重点内容:函数文件是另一种格式的 M 文件, 它是 MATLAB 程序设计的主流。一般情况下都使用函数文件格式编程。 1、 编写函数文件的步骤: 1)从 MATLAB 主窗口的 File 菜单中选择 New 菜单项,再选择 M-file 命 令,屏幕上将出现 MATLAB 文本编辑器窗口。其窗口名为 Untitled, 用户可以在空白窗口中编写程序。 2)点击调试工具条保存图标,在弹出的“保存为”对话框中,选择保存文 件夹,键入新编文件名,例如 program.m, (这里的文件名必须与函数 名相同)点击保存键,就完成了文件的保存,将其称为 M 文件。 2、 函数 m 文件的格式: function 返回变量=函数名(输入变量) 注释说明语句段 程序语句段 3、 特定规则: 1)函数 m 文件— 需要输入变量,返回输出变量 2)函数 m 文件第一行必须以单词 function 作为引导词,必须遵循如下 形式: function <因变量>=<函数名>(<自变量>) 3)m 文件的文件名必须是<函数名> .m。 4)程序中的变量均为局部变量,不保存在工作空间中。 其变量只在函数运行期间有效。 4、 M 文件的程序结构(函数文件又称为可调用的 M 文件) 1)顺序结构 顺序结构有两个程序模块串接构成,一个程序模块可以是一条语句、一 段程序、一个函数等,即依次顺序执行程序的各条语句; ①从键盘输入数据, 则可以使用 input 函数来进行, 该函数的调用格式为: A=input(提示信息,选项); 其中提示信息为一个字符串,用于提示用户输入什么样的数据。

m文件程序设计

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实验指导书(附答案)

MATLAB基础实验指导书漳州师范学院物电系2010年10月目录实验一MATLAB环境的熟悉与基本运算 (2)实验二MATLAB数值运算 (8)实验三MATLAB语言的程序设计 (12)实验四MATLAB的图形绘制 (16)实验五采用SIMULINK的系统仿真 (20)实验六MATLAB在电路中的应用 (25)实验七MATLAB在信号与系统中的应用 (27)实验八MATLAB在控制理论中的应用 (29)实验一 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、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)2、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。

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

第六讲M文件和函数句柄

第六讲M文件和函数句柄
ቤተ መጻሕፍቲ ባይዱ
-4-
例 6.2.4 用 for 循环指令来求 Fibonacci 数列中第一个大于 10000 的元素 n=100;a=ones(1,n); for k=3,n a(k)=a(k-1)+a(k-2); if a(k)>=10000 a(k), break; % 跳出所在的一级循环 end; end,k ans = 10946 k= 21
6.2.4 switch-case 结构
switch ex ex 为一标量或字符串。 case test1 (commands 1) 当 ex 等于 test1 时,执行组命令 1,然后跳出该结构。 case test2 …… case testk (commands k) 当 ex 等于 testk 时,执行组命令 k,然后跳出该结构。 otherwise otherwise 指令可以不存在 (commands) 表达式不等于前面所有检测值时,则执行该组命令。 end [说明] (1)当遇到 switch 结构时,MATLAB 将表达式的值依次和各个 case 指令后面的检测值进 行比较。如果比较结果为假,则取下一个检测值再比较,一旦比较结果为真,MATLAB 将 执行相应的一组命令,然后跳出该结构。如果所有的比较结果都为假,即表达式的值和所有 的检测都不等,MATLAB 将执行 otherwise 后面的一组命令。由此可见上述结构保证了至少 有一组命令会得到执行。 (2)switch 指令后面的表达式应为一个标量或者为一个字符串。对于标量形式的表达式, 比较这样进行:表达式 = = 检测值 i。而对于字符串,MATLAB 将调用函数 strcmp 来实现 比较:strcmp(表达式,检测值 i) 。 (3)case 指令后面的检测值不仅可以为一个标量值或一个字符串,还可以为一个元胞数组。 如果一个检测值是一个元胞数组,MATLAB 将把表达式的值和该元胞数组中的所有元素进 行比较;如果元胞数组中某个元素和表达式的值相等,MATLAB 认为此次比较结果为真, 从而执行与该检测值相应的一组命令。 例 6.2.5 将百分制的学生成绩转换为五级制的成绩 x=input('请键入学生成绩:'); switch fix(x/10) case {10,9} f='A'

M函数文件(matlab)

M函数文件(matlab)

4.1.4 其他流程控制指令
1. break指令 break指令可以使包含break的最内层的for 或while语句强制终止,立即跳出该结构,执 行end后面的命令,break命令一般和If结构结 合使用。 2. continue指令 continue指令用于结束本次for或while循环, 只结束本次循环而继续进行下次循环。
4.1.4 其他流程控制指令(续)
error/lasterr 显示出错信息/显示最新出错原因,终止程序运行 warning/lastwarn 显示警告/显示MATLAB自动给出的最新警告,程序继续运行 %exm R=input('What is your name:','s') %以字符串形式赋给R S=input('How old are you?') %键入数值 pause(3) %暂停3秒 pause %等待用户按任意键 error('You can''t join the army') %显示出错信息 errordlg,warndlg %给出出错、警告对话框
4.2.1
M脚本文件和函数文件的比较
2. 函数文件的特点 (1) 第一行总是以“function”引导的函数声明行; 函数声明行的格式: function [输出变量列表] = 函数名(输入变量列表) (2) 函数文件在运行过程中产生的变量都存放在函数本身的 工作空间; (3) 当文件执行完最后一条命令或遇到“return”命令时,就 结束函数文件的运行,同时函数工作空间的变量就被清 除; (4) 函数的工作空间随具体的M函数文件调用而产生,随调用 结束而删除,是独立的、临时的,在MATLAB运行过程中 可以产生任意多个临时的函数空间。

M文件及函数的编写

M文件及函数的编写
函数声明
在调用函数之前,需要先声明函数,告诉编译器函数的名称、输入参数和返回值类型。
函数参数与返回值
参数
用于传递数据给函数,函数内部通过参数接收数据并进行处理。
返回值
函数执行完毕后,将结果返回给调用者。
函数体与局部变量
函数体
包含函数的逻辑和计算过程,是实现函数功能的 代码块。
局部变量
在函数内部定义的变量,只在函数内部有效,生 命周期与函数执行过程一致。
以查看每一步的结果。
02 条件断点
根据特定条件自动停止程
序。
04 错误消息和警告
仔细阅读和利用MATLAB
提供的错误消息和警告信
息。
M文件性能优化
向量化操作
利用MATLAB的向量化操作,避免 使用循环结构,提高代码执行效率。
避免不必要的函数调用
减少不必要的函数调用,以提高代码 执行速度。
预分配内存
用于多分支条件判断。
while循环
用于当条件满足时重复执行一段代码。
函数与脚本
01
函数
用于封装一段可重用的代码,并接受输入参数和 返回输出结果。
02
脚本
用于执行一系列MATLAB命令,不接受输入参数 和返回输出结果。
03
函数编写
பைடு நூலகம்
函数定义与声明
函数定义
指明函数名称、输入参数和返回值类型,以及函数体。
算法实现与验证
算法选择
根据问题需求选择合适的算法,并使用M文件实现该算法。
参数调整
根据实际需要调整算法参数,以提高算法性能和准确性。
算法验证
通过实验验证算法的有效性和优越性,并利用M文件记录实验结 果和分析。

MATLAB全部实验及答案

MATLAB全部实验及答案

MATLAB全部实验及答案MATLAB全部实验及答案实验一、MATLAB基本操作实验内容及步骤4、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(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是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2?(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全下标的形式),并将其单下标转换成全下标。

clear,clca=[1 -2 3;4 5 -4;5 -6 7];[x,y]=find(a<0);c=[];for i=1:length(x)c(i,1)=a(x(i),y(i));c(i,2)=x(i);c(i,3)=y(i);c(i,4)=(y(i)-1)*size(a,2)+x(i);endc(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那个是虚数矩阵,后面那个出错(6)请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?a^2= 22 16 1625 26 2326 24 28a.^2=1 4 99 16 425 4 9(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) 转化为列向量(8)使用三元组方法,创建下列稀疏矩阵2 0 8 00 0 0 10 4 0 06 0 0 0方法一:clear,clcdata=[2 8 1 4 6];ir=[1 1 2 3 4 ];jc=[1 3 4 2 1];s=sparse(ir,jc,data,4,4);full(s)方法二:不用三元组法clear,clca=zeros(4,4);a(1,[1,3])=[2,8];a(2,4)=1;a(3,2)=4;a(4,1)=6;a(9)写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B5、已知+?=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。

MATLAB实验报告

MATLAB实验报告

班级:通信班姓名:彭羊平学号: 222008315222033实验一:matlab的基本操作一、实验目的:1、了解MATLAB的集成环境,熟悉其基本操作。

2、了解MATLAB的基础知识,包括矩阵的建立、简单操作、逻辑操作和关系运算。

3、熟悉基本的数学函数和逻辑函数。

4、在命令窗口输入命令完成一些简单的功能,为MATLAB程序设计奠定基础。

二、实验内容:1、利用diag等函数产生下列矩阵:然后利用reshape函数将它们变换成行向量。

2、利用rand函数产生(0,1)间均匀分布的10*10随机矩阵A,然后统计A中大于等于0.6的元素的个数。

3、有一矩阵A,找出矩阵中值大于1的元素,并将它们重新排列成列向量B。

4、在一测量矩阵A(6*6),存在有奇异值(假设大于100的值为奇异值),编程实现删去奇异值所在的行。

三、实验结果:1、程序如下:a=fliplr(diag([8,-7,2])+diag([5,3],-1))a=reshape(a,1,9)b=diag([2,5,8])+diag([4],2)+diag([7],-2) b=reshape(b,1,9)结果如下:2、程序如下:A=rand(10)A=A>0.6sum(sum(A))结果如下:3、程序如下:A=fix(5*rand(5))a=A>1;K=find(a);for k=1:length(K)B(k)=A(K(k));endB=B'结果如下:4、程序如下:A=fix(100*rand(8))+5 B=A>100;k=find(any(B'))A(k,:)=0结果如下:班级:通信班姓名:彭羊平学号: 222008315222033实验二: matlab绘图(1)一、实验目的:1、了解MATLAB图形系统和各种图形函数。

2、熟悉MATLAB的基本图形操作,具备MATLAB画图能力。

3、熟悉各种数学函数,并通过图形函数画出。

matlab编写M文件(函数)

matlab编写M文件(函数)

matlab编写M文件(函数)matlab的命令编辑窗口(Command Window)界面主要是用来调用系统命令、调用自定义函数(m文件里定义的函数)或编写一些较小的代码。

在遇到需要用到比较多的代码才能摆平的需求时,在命令编辑窗口每一行都有提示输入符号,用起来不是很方便(如前所述而且命令编辑窗口主要是用来调用命令之用),此时我们不得不求助于matlab的m文件来编写代码。

所以,记录一下经自行探索其编写方式后的入门过程:版本:MATLAB 7.9.0(R2009b)1.新建m文件打开matlab软件-->file-->new-->Function m-file经过此步骤之后,matlab会弹出一个新的编辑窗口,并生成少许代码如下:[plain]view plaincopyprint?1.function [ output_args ] = Untitled( input_args )2.%UNTITLED Summary of this function goes here3.% Detailed explanation goes here4.5.6.7.8.end这些代码是一个m-函数的模板。

function:表示编写的是一个函数。

output_args: 表示编写此函数的返回值(不同于C语言的是需要被返回的值无需使用return语句,只要将outp_args相应的参数拿到代码中赋值即可,同一般变量的使用),各返回值间用逗号隔开。

input_args: 此函数的输入参数,各参数之间用逗号隔开。

Untitled: 这是您所编写函数时所定义的函数名。

注意:函数名和m文件名需要保持一致。

如刚所创建的m文件在工作空间时命名为“RungeKuttaCalculate.m”则相应的函数名也需要为“RungeKuttaCalculate”,否则会引起报错。

%: 是matlab的注释语句的注释符,相当于C语言中的行注释符"//",在这里你可以描述此函数的功能,参数含义和返回值含义,使其含义更加明确。

第六章 M文件和函数句柄2

第六章 M文件和函数句柄2

例4: 编写函数文件求半径为r的圆的面积和周长。
函数文件如下: function [s,p]=fcircle(r) %FCIRCLE calculate the area and perimeter of a circle of radii r %r %s %p s=pi*r*r; p=2*pi*r; 将以上函数文件以文件名fcircle.m存入D:\MATLAB701\work下,然后在 MATLAB命令窗口调用该函数: [s,p]=fcircle(10) 圆半径 圆面积 圆周长
例2:观察执行命令式文件和函数式文件后,变量的变 化。
function y=hanshu(a) x1=2*a x2=a^2
先执行x1=0.1; x2=0.2;
再执行 a=2;hanshu(a); 观察工作空间中x1,x2值的
变化情况
结论:在函数式M文件中,变量的值是以局部变量 的形式存储在文件中的。
例6:输入x,y的值,并将它们的值互换后输出。Fra bibliotek程序如下:
x=input('Input x please.'); y=input('Input y please.'); z=x; x=y; y=z; disp(x);
disp(y);
例7:求一元二次方程ax2 +bx+c=0的根。 程序如下: a=input('a=?'); b=input('b=?'); c=input('c=?'); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);

第二讲M文件的编写

第二讲M文件的编写

(2) 双分支if语句: if 条件 语句组1 else 语句组2 end 当条件成立时,执行语句组1,否则执行语 句组2,语句组1或语句组2执行后,再执行 if语句的后继语句。
例4 计算分段函数的值。
程序如下: x=input('请输入x的值:'); if x<=0 y= (x+sqrt(pi))/exp(2); else y=log(x+sqrt(1+x*x))/2; end y
用户如想灵活应用matlab去解决实际问题, 充分调用matlab的科学技术资源,就需要编 辑m文件. 包含matlab语言代码的文件称为m文件,其 扩展名为m. 编辑m文件可使用各种文本编辑器.
复习
M文件 用MATLAB语言编写的程序,称为M 文件。M文件可以根据调用方式的不 同分为两类:命令文件(Script File)和 函数文件(Function File)。
例 1+2*3>8+9 返回 0 1+2<5&15+2*3>8+9 返回 1 1+2*(3>8)+9 返回 10
MATLAB运算符
1.关系运算符 关系运算符对于程序的流程控制非常有用. MATLAB共有六个关系运算符,它们分别是 < 小于;< = 小于等于;> 大于;>= 大于等 于;﹦﹦ 等于;~ =不等于 关系运算符可以比较同型矩阵,此时将生成一个 0-1矩阵,当相应元素经关系运算为真时,对应 位置上生成1,否则为0。关系运算符也可以比较 标量和矩阵,此时是标量与矩阵的每个元素分别 比较,生成一个0-1矩阵.
例11 求[100,200]之间第一个能被21整除的 整数。 程序如下: for n=100:200 if rem(n,21)~=0 continue end break end n

第5章M文件编程

第5章M文件编程

5.1.2脚本与函数 脚本与函数
1.脚本 脚本是M文件里的简单函数和命令的集合,它们没有输入 输出参数,类似于DOS下的批处理文件。 脚本文件的特点: (1) 脚本文件中的命令格式和前后位置,与在命令窗口中输入 的没有任何区别。 (2) MATLAB在运行脚本文件时,只是简单地按顺序从文件中 读取一条条命令,送到MATLAB命令窗口中去执行。 (3) 与在命令窗口中直接运行命令一样,脚本文件运行产生的 变量都是驻留在MATLAB的工作空间(workspace)中,可以 很方便地查看变量,除非用clear命令清除;脚本文件的命令 也可以访问工作空间的所有数据,因此要注意避免变量的覆 盖而造成程序出错。
从上述的函数我们可以对函数的结构有一个大致的了解,一 个函数M文件一般由函数定义行、函数体、函数说明、注释 函数定义行、 函数定义行 函数体、函数说明、 构成。 构成。
1、函数定义行 、 函数M文件的第一行要求用关键字 文件的第一行要求用关键字“ 把该文件定义为函数, 函数 文件的第一行要求用关键字“function”把该文件定义为函数, 把该文件定义为函数 并指定函数的名字,该名字必须与存盘的文件名相同。 并指定函数的名字,该名字必须与存盘的文件名相同。同时这一句也定 义了输入与输出参数。 义了输入与输出参数。 2.函数体 . 函数体是函数的主体部分,它完成了函数的主要功能,包括运算、 函数体是函数的主体部分,它完成了函数的主要功能,包括运算、赋 值操作、作图等MATLAB的程序代码。 的程序代码。 值操作、作图等 的程序代码 3.函数说明 . 函数说明是对本函数完成功能的简要说明, 函数说明是对本函数完成功能的简要说明,通常当某个函数过于复杂 时我们要给出函数说明以方便别的使用者使用。 时我们要给出函数说明以方便别的使用者使用。 4.注释 . 注释是夹杂在函数体中的语句,它以%开头,出现%的行,% ,%后的语 注释是夹杂在函数体中的语句,它以%开头,出现%的行,%后的语 句均为注释性的,它的作用是方便别的程序员、用户使用, 句均为注释性的,它的作用是方便别的程序员、用户使用,类似函数说 明。

实验六 M函数文件编程

实验六  M函数文件编程

实验六 M函数文件编程1、 实验目的1、掌握M语言程序设计的方法2、掌握函数文件的编写方法2、掌握用户参数交互输入设计技术2、 主要仪器及耗材计算机,MATLAB7.0。

3、 实验内容和步骤1、给定三个边长,看看他们是否能够组成一个三角形。

要求:编写M函数,输入参数为三个边长,而输出则为字符串,说明给定的边长是否能够组成三角形,若可能,进一步指出是否为等腰三角形或者是等边三角形。

对输入的错误数据格式(如字符串等)能够给出错误提示。

2、费波纳切数列:1、1、2、3、5、8、13……,其递推公式为:a(1)=a(2)=1,a(n)=a(n-1)+a(n-2)(n>=3)。

编程实现求n项的费波纳切数列。

要求:用M语言函数实现;对输入的错误数据格式(如字符串、小数等)能够给出错误提示。

3编写M脚本文件,输出9×9乘法表。

显示如下。

1×1= 11×2= 2 2×2= 41×3= 3 2×3= 6 3×3= 91×4= 4 2×4= 8 3×4=12 4×4=161×5= 5 2×5=10 3×5=15 4×5=20 5×5=251×6= 6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=361×7= 7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=491×8= 8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=641×9= 9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81参考程序:for i=1:9;A=[];for j=1:i;A=[A,sprintf('%d×%d=%2d ',j,i,i*j)];enddisp(A)end4、编写一个randm函数,能够产生在[-m,m]之间的随机数。

实验6和实验7-MATLAB中m文件的调试及MATLAB绘图

实验6和实验7-MATLAB中m文件的调试及MATLAB绘图

西华大学实验报告(理工类)开课学院及实验室: 实验时间 : 年 月 日一、实验目的1、熟悉和掌握函数调用和参数传递;2、掌握基本的绘图指令,学习如何绘制2维和3维曲线图形。

二、实验原理1、函数文件函数文件的基本结构:函数文件由function 语句引导,其基本结构为: function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 说明:(1)关于函数文件名: 函数文件名与函数名也可以不相同。

当两者不同时,MATLAB 将忽略函数名而确认函数文件名,因此调用时使用函数文件名。

(2)关于注释说明部分。

注释说明包括三部分内容:①紧随函数文件引导行之后以%开头的第一注释行。

②第一注释行及之后连续的注释行。

③与在线帮助文本相隔一空行的注释行。

(3)关于return 语句。

执行到该语句就结束函数的执行,程序流程转至调用该函数的位置。

通常,在函数文件中也可不使用return 语句,这时在被调函数执行完成后自动返回。

2、函数调用函数调用的一般格式是:[输出实参表]=函数名(输入实参表)3、普通图形的绘制:2维图形的基本函数为plot 函数,其基本格式为:plot(x,y,‘选项’),选项包括线型、颜色等设置。

3维图形的基本函数为plot3函数,用法和plot 函数相同。

4、绘制对数坐标曲线:常用semilogx(x,y,‘选项’)函数来绘制横坐标维对数坐标的曲线。

5、图形窗口的分割:用函数subplot(m,n,i)来实现。

含义是将图形窗口分为m 行n 列子窗口,然后选定第i 个窗口为当前窗口。

6、坐标系的调整:可用函数axis([xmin,xmax,ymin,ymax,zmin,zmax])来完成。

函数中可以输入4个或6个参数。

注意坐标的最小值必须小于最大值。

7、图形的标注:为坐标轴标注用函数xlabel(‘string ’,文本属性);为图形加标题用函数title(‘string ’,文本属性);在图形窗口的任意位置加入标注用函数text(x,y, ‘string ’)8、绘制特殊图形:绘制极坐标图形用函数polar(角度向量,幅值向量,选项);条形图用函数bar(x,y);扇形图用pie(x)函数。

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

实验六 M函数文件编程
1、 实验目的
1、掌握M语言程序设计的方法
2、掌握函数文件的编写方法
2、掌握用户参数交互输入设计技术
2、 主要仪器及耗材
计算机,MATLAB7.0。

3、 实验内容和步骤
1、给定三个边长,看看他们是否能够组成一个三角形。

要求:
编写M函数,输入参数为三个边长,而输出则为字符串,说明给定的边长是否能够组成三角形,若可能,进一步指出是否为等腰三角形或者是等边三角形。

对输入的错误数据格式(如字符串等)能够给出错误提示。

2、费波纳切数列:1、1、2、
3、5、8、13……,其递推公式为:
a(1)=a(2)=1,a(n)=a(n-1)+a(n-2)(n>=3)。

编程实现求n项的费波纳切数列。

要求:用M语言函数实现;对输入的错误数据格式(如字符串、小数等)能够给出错误提示。

3编写M脚本文件,输出9×9乘法表。

显示如下。

1×1= 1
1×2= 2 2×2= 4
1×3= 3 2×3= 6 3×3= 9
1×4= 4 2×4= 8 3×4=12 4×4=16
1×5= 5 2×5=10 3×5=15 4×5=20 5×5=25
1×6= 6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7= 7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8= 8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9= 9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81
参考程序:
for i=1:9;
A=[];
for j=1:i;
A=[A,sprintf('%d×%d=%2d ',j,i,i*j)];
end
disp(A)
end
4、编写一个randm函数,能够产生在[-m,m]之间的随机数。

4、 思考
1、M文件与在Matlab命令窗口中直接输入命令有何异同,有何优缺点?
2、脚本文件与函数文件的异同。

3、函数文件被调用时,函数和被调用之间怎样实现数据传递?。

相关文档
最新文档