实验3 m文件程序设计

合集下载

《C语言程序设计》实验指导

《C语言程序设计》实验指导

实验1、C语言编程环境和运行C程序的方法一、实验目的1、熟悉Visual C++6.0集成开发环境的使用方法;2、熟悉C语言程序从编辑、编译、连接到最后运行得到结果的全过程及每一步骤的作用;3、了解C语言程序的结构特征与书写规则,能够编写简单的C程序;4、初步理解程序调试的思想,能找出并改正C程序中的典型语法错误。

二、实验内容1、熟悉上机环境⑴参照教材附录A(P370~376)或实验指导书前言中的内容,熟悉VC++6.0集成环境,重点是其中常用菜单、工具按钮的功能;⑵在D盘建立一个自己的工作文件夹,文件夹以班名+学号后两位+姓名来命名(例如:动漫班75号张三的工作文件夹命名为dm75zhangsan 注意:文件夹及文件的命名尽量不要用汉字!);⑶参照教材第1章中的3个例题的源代码,在自己的工作文件夹中分别创建并运行三个C源程序,初步熟悉C 程序的结构特点和运行方式。

注意:①每个例题对应一个C源程序(新建C源文件时,文件时务必要加扩展名.c);②一个源程序成功运行后,要关闭工作区后再新建下一个例题的源程序(否则会出错);2、编程参照教材例题1.1编写一个程序实现分两行输出自己的姓名及联系电话。

3、程序改错调试以下给定程序的功能是在屏幕上显示“Welcome to Y ou!”,其中存在3处语法错误,请根据编译给出的出错提示,依次指出错误所在行并进行修改,调试程序使其能运行得到正确结果。

#include<stdio.h>mian() //1{printf(Welcome to You!\n") //2}三、实验要求1、将每次实验所编辑的C 源程序调试通过后分别保存在D 盘上自己的文件夹中(备查!)及自己的U 盘中;2、对调试过程中出现的问题和解决方法进行必要的记录,并予以简要分析四、实验小结1、结合本次实验,简述C 程序从编写到最终运行的一般过程,并简要说明其中每个步骤的作用及其生成的文件类型。

MATLAB及其应用实验指导书

MATLAB及其应用实验指导书

实验一MATLAB软件使用初步一、实验目的∙学习MATLAB软件的安装过程,熟悉MA TLAB软件界面的组成及基本使用方法。

∙理解数组(Array)的分类,及标量(scalar)、矢量(vector)和矩阵(Matrix)的区别,熟悉数组与矩阵的构造方法,掌握数组与矩阵的基本运算法则。

二、实验要求1、掌握MATLAB软件的启动与退出的方法。

2、掌握MATLAB软件的桌面环境。

3、掌握MATLAB软件的基本使用方法。

4、掌握M文件编辑器的使用。

5、学会使用MATLAB的帮助系统。

6、掌握标量、矢量和矩阵的构造方法。

7、掌握数组的四则运算。

8、掌握矩阵的四则运算。

9、掌握基本的数据输入和输出函数。

三、实验内容1.通过桌面快捷图标或“开始—程序”菜单运行MATLAB,熟悉MA TLAB的桌面环境,如图1 所示。

图1 MATLAB 桌面环境2.浏览各个菜单项的内容,试着改变各个窗口的字体与字号。

3.熟悉matlab 中的特殊变量:i 、j 、pi 、ans 等等。

4.在实验报告中回答下面哪些赋值语句是正确的,如果不正确给出理由。

a=1a20=1.2;年薪=100000 (错,只能以字母开头,只能有字母数字下划线) _fee=20.0 (错,只能以字母开头,只能有字母数字下划线)coordinate.x=15.已知1u =,3v =,用MA TLAB 分别执行下列语句。

并在实验报告中记录语句和结果。

a. 43u vb. ()222v u v -+ c. 333v v u - d.243v π6. 运行以下命令并将运行结果与工作空间浏览器中的状态进行比较。

>> a=sin(pi); b=[1, 2]; c=[1; 2]; >> who>> whos在实验报告中回答:如下运行结果中,Size 下的1x1、1x2、2x1的含义>> whosName Size Bytes Classa 1x1 8 double arrayb 1x2 16 double arrayc 2x1 16 double array7.通过工作目录浏览器(Current Directory Browser )或者“File ”菜单中相应菜单项改变当前工作 目录。

基础篇-第5章-M文件

基础篇-第5章-M文件
第五章 M文件编程
简单地说,M文件就是用户把要实现的命令写在一个以 .m作为文件扩展名 的文件中,然后由MATLAB系统进行解释,运行出结果,实际上M文件是一个 命令集,因此,MATLAB具有强大的可开发性与可扩展性。MATLAB中的许多 函数本身都是由M文件扩展而成的,而用户也可以利用M文件来生成和扩充 自己的函数库。
函数定义行(只存在于函数文 件)
H1行 Help文本 M文件内容
注释
函数体
具体语句的功能注释、说明
进行实际计算的代码

1. 函数定义行 函数定义行被用来定义函数名称,定义输人输出变量的数量、顺序。注意脚本式M文 件没有此行。完整的函数定义语句为: function [outl,out2,out3...]=funName(in1,in2, in3...) 其中输入变量用圆括号,变量间用英文逗号‚,‛分隔。输出变量用方括号,无输出可 用空括号[],或无括号和等号。无输出的函数定义行可以为: function funName(inl,in2,in3...) 在函数定义行中,函数的名字所能够允许的最大长度为63字符,个别操作系统有所不 同,用户可自行使用namelengthmax函数查询系统允许的最长文件名。另外函数文件 保存时,MATLAB会默认以函数的名字来保存,请不要更改此名称,否则调用所定义 的函数时会发生错误,不过脚本文件并不受此约束。funName的命名规则与变量命名 规则相同,不能是MATLAB系统自带的关键词,不能使用数字开头,也不能包含非法 字符。 2. H1行 H1行紧跟着函数定义行。因为它是Help文本的第一行,所以叫它H1行。用百分号(%) 开始。MATLAB可以通过命令把M文件上的帮助信息显示在命令窗口。因此,建议写M 文件时建立帮助文本,把函数的功能、调用函数的参数等描述出来,以供自己和别人 查看,方便函数的使用。 H1行是函数功能的概括性描述,在命令窗口提示输人命令可以显示H1行文本:

matlab及应用实验指导书08.9

matlab及应用实验指导书08.9
7
data=[3 9 45 6; 7 16 -1 5] for n=data x=n(1)-n(2) end
(3)For 循环可按需要嵌套。
for n=1:5 for m=1:5 A(n,m)=n^2+m^2 end disp(n) end x=zeros(1,10); for n=1:10 x(n)=sin(n*pi/10); end
x=0:0.1:2*pi; y=sin(x); x1 =0:0.1:pi/2; y1= sin(x1); plot(x,y,'-r') hold on fill([x1,pi/2],[y1,0],'b')
将上面最后一句分别改为 fill(x1,y1,’b’),情况如何变化。
(二) 三维曲线图
格式 plot3(X,Y,Z,S)
x=linspace(0,2*pi,30); y=sin(x);plot(x,y)
(3)绘制 y=sin(x)图形
x=0:0.1:2*pi; y=sin(x); plot(x,y)
可以给图形加标记,格栅线
x =0:0.1:2*pi; y=sin(x); plot(x,y,'r-') title('正弦曲线') xlabel('自变量 x') ylabel('函数 y=sinx') text(5.5,0,' y=sinx') grid
1
实验一 熟悉 MATLAB 环境
一、实验目的 1、熟悉 MATLAB 主界面,并学会简单的菜单操作; 2、学会简单的矩阵输入与运算符; 3、掌握部分绘图函数。
二、实验原理 MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各

Matlab仿真实验教程

Matlab仿真实验教程

MATLAB的实验仿真目录实验一MATLAB在控制系统模型建立与仿真中的应用 (1)实验二典型系统的时域响应分析 (13)实验三线性控制系统的根轨迹与频域分析 (17)实验四线性系统的校正 (22)附录一 MATLAB6.5 控制系统工具箱函数和结构化的控制语句 (30)附录二 SIMULINK 基本模块介绍 (34)实验一MATLAB 在控制系统模型建立与仿真中的应用一、MATLAB 基本操作与使用1. 实验目的1) 掌握MATLAB 仿真软件的安装及启动,熟悉MATLAB工作环境平台。

2) MATLAB 命令窗口,包括工具条以及菜单选项的使用;MATLAB 语言的基本规定,包括数值的表示、变量命名规定、基本运算符、预定义变量以及表达式等。

3) MATLAB图形绘制功能、M 文件程序设计和线性控制系统传递函数模型的建立等。

2. 实验仪器PC计算机一台,MATLAB软件1套3. 实验内容1) MATLAB 的启动这里介绍MATLAB 装入硬盘后,如何创建MATLAB 的工作环境。

方法一MATLAB 的工作环境由matlab.exe 创建,该程序驻留在文件夹matlab\bin\中。

它的图标是matlab。

只要从<我的电脑>或<资源管理器>中去找这个程序,然后双击此图标,就会自动创建如图1所示的MATLAB6.5 版的工作平台。

Command Window图1 在英文Windows 平台上的MATLAB6.5 MATLAB工作平台方法二假如经常使用MATLAB,则可以在Windows 桌面上创建一个MATLAB 快捷方式图标。

具体办法为:把<我的电脑>中的matlab 图标用鼠标点亮,然后直接把此图标拖到Windows桌面上即可。

此后,直接双击Windows 桌面上的matlab 图标,就可建立图1所示的MATLAB工作平台。

2) MATLAB工作环境平台桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括 6 个窗口,具体如下:① MATLAB 窗口MATLAB6 比早期版本增加了一个窗口。

MATLAB程序设计实验指导书

MATLAB程序设计实验指导书

MATLAB程序设计实验指导书MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。

作为强大的科学计算平台,它几乎能满足所有的计算需求。

在美国及其他发达国家的理工科院校里,MATLAB已经作为一门必修的课程;在科研院所、大型公司或企业的工程计算部门,MATLAB也是最普遍的计算工具之一。

有鉴于此,我院开设了《MATLAB程序设计》这门课程,它需要一定的理论基础,同时又具有很强的实践性。

如何加强理论课程的学习、加深学生对本课程中的基本理论知识及基本方法的理解,如何培养学生实践动手能力是教学的当务之急。

而MATLAB程序设计实验课程就是一种重要的教学手段和途径。

实验将MATLAB程序设计的基本方法灵活地运用在数学、电路等课程中,重点突出,内容丰富。

同时,注重理论分析与实际动手相结合,以理论指导实践,以实践验证基本原理,旨在提高学生分析问题、解决问题的能力及动手能力,使学生进一步巩固基本理论知识,建立比较全面的MATLAB程序设计的概念。

实验注意事项1、实验系统接通电源前请确保电源插座接地良好。

2、完成实验后请确保关闭电脑电源及插座电源。

实验一 矩阵及其运算一、实验目的1、熟悉MATLAB 工作环境2、掌握矩阵和数组的创建、寻访和运算 二、实验内容验证欧姆定律:iur ,其中i u r , ,分别是电阻(欧姆)、电压(伏特)、电流(安培)。

已知u=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41],i=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345]。

三、实验器材PC 机 (装有 MA TLAB 软件 ) 1台 四、实验原理 4.1 Desktop 简介MATLAB R2006a 版的Desktop 操作桌面,是一个高度集成的MATLAB 工作界面。

C高级语言程序设计实验内容

putchar(c1);putchar(c2);
printf("\n%c,%c",c1,c2);
return 0;
}
三、实验报告要求
将题目:1和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。
实验三选择结构程序设计
一、实验目的
1.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);
{
if((x%i==0)&&(y%i==0))
max=i;
}
printf("%d\n",max);
printf("%d\n",x*y/max);
return 0;
}
(2)从键盘输入一个int类型的正整数,输出它的所有因子。如输入6,输出1,2,3;输入20,输出1,2,4,5,10。(要求文件名:4_2.c)
return 0;
}
4、编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。(要求文件名:2_4.c)
参考程序:
#include <stdio.h>
intmain()
{
char c1,c2;
c1=getchar();c2=getchar();
if(a>d) {t=a;a=d;d=t;}
if(b>c) {t=b;b=c;c=t;}
if(b>d) {t=b;b=d;d=t;}
if(c>d) {t=c;c=d;d=t;}
printf("%d,%d,%d,%d\n",a,b,c,d);

《C语言程序设计》实验报告(实验1-11) 2013.3

《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。

二、预习内容:教材《C语言程序设计教程》第1章。

三、实验内容:1. 在Visual C++ 6.0环境下输入并运行下面的程序:#include <stdio.h>int main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。

#include <stdio.h>int main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运行结果(或截图):2. (1) 改正后的源程序:(2) 运行结果(或截图):五、思考题:1. 一个C程序上机的步骤有哪些?答:2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。

二、预习内容:教材《C语言程序设计教程》第2章。

三、实验内容:1. 在Visual C++ 6.0环境下输入下面的程序,编译、连接、调试该程序。

M序列原理及代码

1、m序列1.1概述1.1.1实验原理(1)m序列概念和用途①概念:m序列是由n级线性移位寄存器产生的周期为P=2^n-1的码序列,是最长线性移位寄存器序列的简称。

②用途:码分多址系统主要采用两种长度的m序列:一种是周期为P=2^15-1的m 序列,又称为短PN序列;另一种是周期为P=2^42-1的m序列,又称为长PN 序列。

(2)m序列的产生①4级m序列的码序列发生器假设初始状态为0001,在时钟作用下,产生的m序列的状态表。

4级m序列的周期P=24-1=15,相应的输出序列为:100010011010111。

②线性移位反馈移位寄存器反馈系数Ci③m序列特性均衡性:在一个周期中,m序列中“1”的个数比“0”的个数多1个。

游程特性:长度为k的游程数占游程总数的1/2^k移位相加特性:一个m序列与其循环移位逐位比较,相同码的位数与不同码的位数相差1位。

自相关特性:表征一个信号与延迟后自身信号的相似性。

④m序列的构造——反馈线性反馈移存器1.1.2实验意义m序列是目前广泛应用的一种伪随机序列,在所有的伪随机序列中,m序列是最重要、最基本的一种伪随机序列。

它容易产生,规律性强,有很好的自相关性和较好的互相关特性。

m序列的生成是接下来的实验的基础,具有指导性的意义。

1.1.3系统的主要功能设计本原多项式系数为13、23、103、203的m序列。

1.1.4使用方法输入m后,输出相应的m序列。

1.2程序设计1.2.1设计思想由m序列的产生过程,即通过带反馈的移位寄存器产生,容易想到EDA中的结构化的程序设计思想,即以DFF触发器作为底层文件,进行顶层文件设计,获得m序列。

此设计的优点是程序思路简单,结构清晰,只要做出一种反馈系数的m序列,容易得到其他反馈系数的m序列;但也存在缺点,那就是结构化的设计使得代码写的过长。

1.2.2软件设计流程及描述(1)流程图(2)描述clk上升沿触发程序,用case语句选择m为13,23,103,203中的哪种情况。

c语言程序设计实验指导书

c语⾔程序设计实验指导书《C 语⾔程序设计》实验指导书实验⼀C 程序的运⾏环境⼀、实验⽬的1、了解所⽤的计算机系统的基本操作⽅法,学会独⽴使⽤该系统;2、了解在该系统上如何编辑、编译、连接和运⾏⼀个C 程序;3、通过运⾏简单的C 程序,初步了解C 程序⼆、实验预习1、认真阅读简单的C 程序介绍,C 程序上机步骤部分内容;2、编写好所需要的程序,程序的书写应该清楚整洁,⼀般检查应该是没有明显的错误。

如果在程序中有疑问的地⽅,可以标记起来,以便于上机调试时予以注意。

初学者特别忌讳上机前⾃⼰不编写程序,到时随便地抄别⼈的程序。

三、实验指导1、输⼊并运⾏⼀个简单的程序,从⽽熟悉所⽤系统的上机⽅法与步骤。

(1)选择“File”—“New”—“Win32 console application”,输⼊⼯程名称,确定。

直接选择第⼀项“An empty project”,点击“Finish”。

“File”—“New”—File框下⾯选择⽂件类型“C++ Source File” ,输⼊⽂件名称,点击“OK”。

(2)输⼊下⾯的程序(例题1.1)#includevoid main( ){printf("This is a C program.\n");}(3)选择“Build”菜单下“Compile”选项,快捷键为Ctrl+F7。

编译过程将源代码转化成⽬标⽂件格式,后缀名为.o。

选择“Build”菜单下“Build”选项,快捷键为F7。

如果出现“出错信息”,则应找出原因并改正之,再进⾏编译构建。

(4)如果编译⽆错误,选择“Build”菜单“Execute”选项,运⾏程序,快捷键为Ctrl+F5,观察分析运⾏结果。

2、输⼊并编辑⼀个C 程序(1)同上,新建⼯程和⽂件。

(2)输⼊以下程序(例题1.2,但故意漏打或打错⼏个字符)#includevoid main( ){int a,b,sum ;a=123 ;b=456 ;sum=a+b ;printf("sum is %d\n",sum);}(3)以下步骤同上⼀例题3、输⼊并运⾏⼀个需要在运⾏时输⼊数据的程序(1)清空编辑窗⼝,输⼊下⾯的程序(例题1.3)。

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

实验3. m文件程序设计
一、 实验目的
1. 通过练习理解matlab编程方法;
2. 掌握分支结构程序设计思路;
3. 掌握循环结构程序设计思路。
二、 实验环境
1. 计算机
2. matlab软件
三、 实验说明
1. 熟悉matlab运行环境,正确操作,认真观察;
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以下为E

1)用if或switch语句实现;
2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩要输出出
错信息提示,比如:输入成绩不能大于100。
3)程序保存名为sy3加上本人学号。
解:程序如下:
x=input('输入一个百分制成绩');
if(x>=90&x<=100)
disp('A')
elseif(x>=80&x<90)
disp('B')
elseif(x>=70&x<80)
disp('C')
elseif(x>=60&x<70)
disp('D')
elseif(x<60&x>0)

运行结果:
>> sy3201216124
输入一个百分制成绩90
A
>> sy3201216124
输入一个百分制成绩85
B
>> sy3201216124
输入一个百分制成绩62
D
>> sy3201216124
输入一个百分制成绩120
Error
>> sy3201216124
输入一个百分制成绩-6
disp('E')
elseif(x<0)
disp('Error')
elseif(x>100)
disp('Error')

end

2. 某公司员工的工资计算方法如下:

(1)工作时数超过120小时者,超过部分加发15%;
(2)工作时数低于60小时者,扣发700元;
(3)其余按每小时84元计发。 编程按输入的工号和该员工的工时数,计算应发工资。 解:程序如下: x=input('请输入员工工号'); y=input('请输入员工工时数'); s=y*84; if(y>=60&y<=120) disp(s) elseif(y>120) disp(s+s*0.15) elseif(y<60&y>8.4) disp(s-700) elseif(y<8.4) disp('0') end 3. 根据, 1312111622222n求的近似值。当n分别取100、1000、 10000 时,结果是多少? 要求:分别用循环结构和向量运算(使用sum函数)来实现。 备注: 实验需要的函数input ,disp 解:循环结构: 向量运算: 程序如下: 程序如下: n=input('请输入n'); n=input('请输入n'); x=0; i=1:n; for i=1:n f=1./i.^2; x=x+1/i/i; x=sum(f); end y=sqrt(6*x) 运行结果:
>> sy2201216124
请输入员工工号12
请输入员工工时数56
4004

>> sy2201216124
请输入员工工号70
请输入员工工时数89
7476

>> sy2201216124
请输入员工工号130
请输入员工工时数140
13524
>> sy2201216124
请输入员工工号2
请输入员工工时数1
0
y=sqrt(6*x)
循环结构运行结果: >> sy1201216124 请输入n100 y = 3.1321 >> sy1201216124 请输入n1000 y = 3.1406 >> sy1201216124 请输入n10000 y = 3.1415 向量运算运行结果:
>> sy0201216124
请输入n100
y =
3.1321
>> sy0201216124
请输入n1000
y =
3.1406
>> sy0201216124
请输入n10000
y =
3.1415

相关文档
最新文档