信息论编码实验一MATLAB的基本操作
[实验一]熟悉MATLAB基本操作
[实验一]熟悉MATLAB 基本操作[实验目的]熟悉MA TLAB 环境,并学会简单的菜单操作。
学会简单的矩阵输入与信号输入。
掌握部分绘图函数 [实验内容]一、认识MATLAB 的工作环境MATLAB 6.1启动后,产生的工作环境界面,如图1所示,包含一个工具栏、三个区域、五个工作窗口,五个工作窗口分别为资源目录窗口(Launch Pad )、工作空间浏览器(Workspace )、命令历史浏览器(Command History )、当前路径浏览器(Current Directory )、命令窗口(Command Windows )。
这是MATLAB 启动后桌面布置方式的缺省设置。
MATLAB 的工作窗口是一个标准的Windows 界面,用户可以利用菜单命令完成对工作窗口的操作,下面将通过命令窗口菜单栏的逐一介绍来说明这些工作窗口的用法和含义。
图1.1MATLAB 工作窗口(1)MATLAB 菜单项MATLAB 窗口从上至下:第一行是标题,第二行是菜单,第三行是常用命令的图形工具栏(为简单起见,仅介绍菜单选项)当前路径窗口工作空间窗口命令历史窗口命令窗口File 菜单 ◆ New :M_File 打开M_文件 Figure 打开图形窗口◆ Model 打开模板◆ Open 打开已存在的.m文件◆ Close Command Window 关闭命令窗口 ◆ Import Data导入一个数据文件 ◆Save Workspace As… 将命令窗内容保存为一个.mat 文件 ◆Set Path… 打开Path Brower 窗口,可添加MA TLAB 的搜索路径 ◆ Preferences 设置文档的格式 ◆ Print 打印命令窗口的内容◆Print Selection 打印所选内容● Windows 菜单 当打开多个MA TLAB 窗口时,此菜单可使用户方便地在打开的窗口间切换。
● Edit 菜单◆ Undo 删除上次操作 ◆ Redo 恢复上次操作◆ Cut剪切 ◆ Copy 复制 ◆ Paste 粘贴◆ Paste Specia 选择性粘贴 ◆ Select All 选择所有操作◆ Delete … 删除◆ Clear Command Windows 清空命令窗口 ◆ Clear Command History 清空历史命令 ◆Clear Workspace 清除工作空间的变量● Wiew 菜单◆ Disktop Layout :Default 默认布置方式◆ Undock Command Window 将命令窗口设成独立窗口◆ Command Windows 打勾表示只显示命令窗口 ◆ Command History 显示命令历史窗口◆ Current Directory 显示当前路径窗口 ◆ Workspac 显示工作空间浏览器 ◆ Launch Pad 显示启动平台窗口 ◆Help … 帮助● Web 菜单◆ The MathWorks Web Site MathWorks 公司主页◆ T echnical Support Knowledge Base 技术支持库 ◆ Products 产品信息◆Membership 是否加入MATLAB 会员● Help 菜单◆ Full Products Family Help 显示所有组件的帮助◆ Matlab Help 显示帮助文件 ◆ Using The Desktop 产品信息◆Using the Command Window 是否加入MATLAB 会员(2)MATLAB 历史命令窗口在历史窗口中记录着用户在MA TLAB 命令窗中所输入过的全部命令,在这个窗口中可以实现几个主要的功能是: ○1单行或多行命令的复制 在命令历史窗口用鼠标选定所要拷贝的命令,用右键弹出上下文菜单,选中Copy 项,然后可以用Ctrl+V 将其复制到命令窗口或任何地方。
第1章 MATLAB基本操作
第1单元 MATLAB基本操作
图1-5 激活Command Window并键入命令
第1单元 MATLAB基本操作
1.4
关闭MATLAB
关闭或退出MATLAB有4种方式,分别为:单击关闭按
钮、执行File菜单上的Exit MATLAB命令、使用Ctrl+Q快捷
方式、在Command Window中键入exit或quit命令,如图1-6 所示。注意输入的命令字符串应小写。
Command Window(命令窗口),用于键入命令,显示执行命 令和运行程序的结果,显示报错信息;Current Directory(当 前目录),用于显示和操作当前目录的存储文件列表; Workspace(工作空间),用于显示和操作当前内存中的变量 列表;Command History (命令历史),用于记录和操作在 Command Window中键入过的内容。 为陈述方便,除通用窗口外,其余窗口均称做专用窗口, 只在用户需要时才启动。专用窗口有Editor(编程窗口)、 Figure(图形窗口)、Simulink Library Browser(仿真库浏览器)、 Model(建模窗口)、GUI Quick Start(用户界面平台)、Help(帮
第1单元 MATLAB基本操作
图1-15 Command Window的Edit菜单
第1单元 MATLAB基本操作
3.Desktop菜单 Desktop菜单如图1-16所示。 执行Desktop_Undock Command Window命令,解锁 Command Window,使其变为浮动窗口。 执行Desktop_dock Command Window命令,锁定 Command Window,使其变为固定窗口。 其余窗口也有类似命令均可解释为:Undock ×××是 解锁窗口命令,使指定窗口×××变为浮动窗口;Dock ×××是锁定窗口命令,使指定窗口×××变为固定窗口。 执行Desktop_Move Command Window命令,移动鼠标 调整Command Window的位置。 执行Desktop_Resize Command Window命令,移动鼠标 调节Command Window的窗口尺寸。
实验一 matlab的基本操作
实验一:MATLAB 的基本操作 实验名称: MA TLAB 操作实验日期: 2020 年 4 月 18 日姓名: 班级学号:成绩:一、实验目的1、熟悉MATLAB 的界面和基本操作;2、掌握MATLAB 的基本运算方法;3、掌握MATLAB 中帮助命令的使用方法。
二、实验内容及步骤1、进入Matlab 工作环境,熟悉各窗口的功能。
(1)双击桌面图标,或从“开始”菜单打开MATLAB.exe ,启动MATLAB 。
(2)查看MA TLAB 界面各窗口的布局、了解其功能,并完成各窗口之间的切换。
(3)设置当前工作目录。
在D 盘创建mymatlab 目录,并将其作为当前工作目录。
今后的实验过程中以此目录作为当前工作目录。
2、计算225.389.1753cos 54.5e -÷⎪⎭⎫ ⎝⎛+π的值。
(1)在命令窗口(Command Window )中输入程序:5.54^2+cos(3/5*pi)*sqrt(17.89)/3.5-exp(2)(2)按回车键运行,如果出现“Error ”(出错信息),则应找出原因并改正,再运行。
(3)运行结果: 22.9291 3、输入矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=913652824A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333222111B ,在命令窗口中执行下列表达式,掌握其含义:A(2,3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A(1)在命令窗口键入 A=[4,2,8;2,5,6;3,1,9] ,生成矩阵A ;键入B=[1,1,1;2,2,2;3,3,3] ,生成矩阵B ;(2)记录执行以下表达式的结果:A(2, 3)= 6 A(6)= 1 A(:,2)= [2;5; 1] A(3,:) = [3 1 9] A(:,1:2:3)= [4 8;2 6;3 9] A(:,3).*B(:,2)= [8;12;27]A(:,3)*B(2,:)= [16 16 16;12 12 12;18 18 18]A*B= [32 32 32;30 30 30;32 32 32] A.*B= [4 2 8;4 10 12;9 3 27] A^2= [44 26 116;36 35 100;41 20 111]A.^2= [16 4 64;4 25 36;9 1 81]B/A= [0.5000 0.0769 -0.3846;1.0000 0.1538 -0.7692;1.5000 0.2308 -1.1538]B./A= [0.2500 0.5000 0.1250;1.000 0.4000 0.3333;1.0000 3.0000 0.3333]B.\A= [4.0000 2.0000 8.0000;1.0000 2.5000 3.0000;1.0000 0.3333 3.0000]4、产生一个5阶魔方矩阵,将矩阵的第3行4列元素赋值给变量a ;将由矩阵第2,3,4行第2,5列构成的子矩阵赋值给变量b 。
matlab 实验教程 实验一
MATLAB语言及其应用实验教程实验一实验目的:1.熟悉MATLAB的界面,菜单,会使用DEMO,学会使用帮助(help)。
2.学习MATLAB的基本语法实验内容:1.打开MATLAB,点击各个菜单以了解各个子菜单项。
2.更改当前路径,在指定路径下保存所作的实验。
实验具体步骤:如图所示,在D盘根目录下建立“MATLAB实验”文件夹,并在此文件夹下以各自的学号建立子文件夹。
如图所示,点击工具栏上“Current Directory”栏的浏览按钮。
选择刚刚建立的以各自学号命名的文件夹,“Current Directory”栏显示如下路径格式。
注意!以后所有的实验均保存在此目录中。
3.学习打开和关闭命令窗口(command window),工作空间(workspace)和命令历史窗口(command history)。
实验具体步骤:单击命令窗口右上角的“X”标志,关闭命令窗口;在Desktop菜单下选择“Command window”,打开命令窗口;单击工作空间窗口右上角的“X”标志,关闭工作空间;在Desktop菜单下选择“Workspace”,打开工作空间;单击命令历史窗口右上角的“X”标志,关闭命令历史窗口;在Desktop菜单下选择“Command history”,打开命令历史窗口。
4.练习变量的赋值,包括向量赋值,矩阵赋值以及复数的赋值。
实验具体步骤:变量赋值>> a=100a =100>> b=0.1b =0.1000向量赋值>> a=1:1:10a =1 2 3 4 5 6 7 8 9 10>> b=1:2:10b =1 3 5 7 9矩阵赋值>> a=[1 2 3;4 5 6;7 8 9]a =1 2 34 5 67 8 9复数赋值>> c=3+5.2ic =3.0000 + 5.2000i>> z=[1+2i,3+4i;5+6i,7+8i]z =1.0000 +2.0000i3.0000 +4.0000i5.0000 +6.0000i7.0000 +8.0000i5.用变量检查命令who和whos检查工作空间中的变量。
实验一MATLAB基本操作及运算
实验一MATLAB基本操作及运算MATLAB是一种强大的数值计算和数据可视化工具,广泛应用于科学研究、工程设计、数据分析等领域。
本文将介绍MATLAB的基本操作和运算。
首先,我们需要了解MATLAB中的基本数据类型,包括数值型、字符型和逻辑型。
数值型可以是整数、实数、复数等;字符型用单引号或双引号包围字符;逻辑型用true和false表示。
MATLAB提供了各种数学运算函数,包括四则运算、三角函数、指数函数等。
例如,加法可以使用加号(+),减法可以使用减号(-),乘法可以使用乘号(*),除法可以使用除号(/)。
三角函数可以使用sin、cos、tan等函数,指数函数可以使用exp函数。
此外,还可以使用log 函数进行对数运算。
MATLAB还可以进行矩阵运算。
矩阵可以使用方括号([])表示,每一行用分号(;)分隔。
可以使用矩阵乘法运算符(*)进行矩阵相乘,使用点乘运算符(.)进行矩阵对应元素的运算。
矩阵还可以进行转置、逆运算等。
除了基本运算,MATLAB还提供了各种其他功能。
例如,可以使用plot函数进行数据可视化,使用subplot函数绘制多个图形。
可以使用for循环和while循环进行循环操作,使用if语句进行条件判断。
MATLAB还可以进行文件读写操作。
可以使用load函数从文件中加载数据,使用save函数将数据保存到文件中。
可以使用fopen函数打开文件,使用fclose函数关闭文件。
可以使用fprintf函数写入文本文件,使用fscanf函数读取文本文件。
还可以使用imread函数读取图像文件,使用imwrite函数保存图像文件。
MATLAB还具备向量化的能力。
向量化是指使用矩阵代替循环进行计算,能够提高代码的执行效率。
例如,可以使用点乘运算符(.)对矩阵的每个元素进行计算,而不是使用循环逐个计算。
使用向量化的方法,可以更加简洁地编写代码。
在MATLAB中还有很多强大的功能等待探索,例如符号计算、模拟仿真、深度学习等。
信息论编码实验一MATLAB的基本操作
实验一 MATLAB 的基本操作一、实验目的1、掌握Matlab 软件使用的基本方法;2、熟悉Matlab 的数据表示、基本运算方法;3、熟悉Matlab 绘图命令及基本绘图控制。
二、实验仪器与软件1、PC 机 1台2、MATLAB7.0环境三、实验原理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-文件。
如,计算3[(12)34)]2+⨯-÷,只需在提示符“>>”后输入“((1+2)*3-4)/2^3”,然后按Enter 键。
该命令行涉及加、减、乘、除及幂运算符,MATLAB 运算的执行次序遵循的优先规则为:从左到右执行;幂运算具有最高的优先级,乘法和除法具有相同的次优先级,加法和减法有相同的最低优先级;使用括号可以改变前述优先次序,并由最内层括号向外执行。
实验一 MATLAB基本操作及运算(含实验报告)
实验一 MATLAB基本操作及运算(含实验报告)实验一matlab基本操作及运算(含实验报告)实验一matlab基本操作及运算一、实验目的1、理解matlab数据对象的特点;2、掌握基本matlab运算规则;3、掌握matlab帮助的使用方法;二、实验的设备及条件计算机一台(带有matlab7.0以上的软件环境)。
三、实验内容要求建立一个名为experiment01.m的,把与实验内容1-7相关的实验命令都放入该文件中,题与题之间用相应注释分割。
注意对实验中出现的相关函数或变量,请使用help 或doc查询相关帮助文档,学习函数的用法。
1、创建以下标量:1)a=102)b=2.5×10233)c=2+3i,(i为虚数单位)4)d=ej2?/3,(j为虚数单位,这里要用到exp,pi)2、建立以下向量:1)avec=[3.1415926]2.7182)bvec=??28182??3)cvec=[54.8…-4.8-5](向量中的数值从5到-5,步长为-0.2)4)dvec=[100100.01…100.99101](产生1至10之间的等对数间隔向量,参照logspace,特别注意向量的长度)3、建立以下矩阵:221)amat2?2??amat一个9×9的矩阵,其元素全系列为2;(参照ones或zeros)10??10??0?02)bmat050??0?0?01??0?bmat是一个9×9的矩阵,除主对角上的元素为[123454321]外,其余元素均为0。
(参考diag)。
111?129192?2?3)cmat?1020?100cmat为一个10×10的矩阵,可有1:100的向量来产生(参考reshape)nan4)dmatnan??nannannannannannannannan?nan??nan??dmat为3×4的nan矩阵,(参照nan)13155)emat2210?87?6)产生一个5×3随机整数矩阵fmat,其值的范围在-3到3之间。
实验一Matlab基本操作
实验一 Matlab基本操作一、实验目的1、熟悉MATLAB的工作环境。
2、熟悉MATLAB语言的基本用法。
二、实验原理MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。
作为强大的科学计算平台,它几乎能够满足所有的计算需求。
MATLAB软件具有很强的开放性和适用性。
在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox)。
目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、概率统计、信号处理、图像处理和物理仿真等,都在工具箱(Toolbox)家族中有自己的一席之地。
在实验中我们主要用到MATLAB提供图象处理工具箱(Image Processing Toolbox)。
MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。
实际上MATLAB中的绝大多数的运算都是通过矩阵这一形式进行的。
这一特点也就决定了MATLAB在处理数字图像上的独特优势。
理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。
二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。
而MATLAB的长处就是处理矩阵运算,因此用MATLAB处理数字图像非常的方便。
(一)MATLAB编程环境及相关操作使用Windows“开始”菜单,启动MATLAB,启动MATLAB后,将进入MATLAB7.1集成环境,如图1-1所示。
图1-1 Matlab主界面MATLAB 7.1集成环境包括MATLAB主窗口、命令窗口(Command Window)、工作空间窗口(Workspace)、命令历史窗口(Command History)、当前目录窗口(Current Directory)。
信息论基础--实验一Matlab入门
3.一小球从空中下落的位移公式为:
利用MATLAB计算小球在t=5s时的位置,已知:
.
4.通过以下两种方式得到关于exp函数的帮助:
(1)在命令窗口中输入help exp命令。
(2)运用帮助空间窗口。
5.计算函数 在 为如下取值时候的函数值, 取4.9, 3.2, 100, 1.5, 9.75, 2.56,16,4.9,10。
思考
1. MATLAB的命令窗口的作用是什么?编辑/调试窗口?图像窗口?
2.列出几种不同的得到MATLAB帮助的方法。
3.什么是工作区?在同一工作区内,你如何决定它里面存储了什么?
4.你怎样清空MATLAB工作区内的内容?
(实验报告来源)
实验一Matlab入门
实验目的
熟悉Matlab工作环境和基本操作。
实验内容
1.熟悉Matlab工作环境,掌握clc,clear,cd这几个常见命令。
图1MATLAB桌面,具体布局可能因机器和版本的不同而会达式: ,
要求:
(1)在命令窗口直接输入,得到运算结果;
Matlab实验报告(一)基本操作和简单语句的输入
实验目的1.熟悉MATLAB的命令窗口.2.掌握MATLAB的一些基本操作,能够进行一些一般的数值运算。
3.实现语句的重调和修改。
一、预备知识1.MATLAB的窗口组成MATLAB主窗口中,层叠平铺了Command window(命令窗口),Launch pad(发射台),Workspace (工作空间),Command history(命令历史记录),Current directory(当前目录)等子窗口。
其中Command window窗口是MATLAB界面中重要组成部分,利用这个窗口可以和MATLAB交互操作,即对输入数据或命令进行相应的计算;Launch pad窗口中启动某个工具箱的应用程序;Workspace窗口记录工作空间;Command history窗口主要记录已执行过的命令,Current directory记录当前目录。
2.命令窗口菜单栏单击菜单栏上的“File”选项,就会弹出一个下拉菜单。
·“New”:单击“New”选项,你会看到一个包含三项内容的右拉式子菜单。
单击“M-file”,就会打开指定的编辑器,并且随之产生一个空白的M文件。
M文件是包含MATLAB源代码的文本文件。
MATLAB自带了大量M文件,当然你也可以在空白M文件中编制自己想要的源代码文件,这在MATLAB数值计算中是一项很重要的功能。
·“Open”:单击“Open”选项,会弹出一个对话框,要求你输入想要打开的文件,可以是M 或Fig文件,也可以是其他类型的有效文件。
·“Open Selection”:通常情况下这个选项呈现灰色,只有你在命令窗口的编辑区内选中一个M 文件时,才变成可用。
单击此选项将会用特定编辑器打开被选中的M文件。
·“Run Script”:单击“Run Script”选项,在对话框内输入或选中可执行的目标文件,单击“OK”,MATLAB将会执行被选中的目标文件。
数字信号实验一 Matlab的基本操作
实验一Matlab的基本操作一、实验目的:熟悉MATLAB软件布局,掌握MA TLAB基本命令和操作。
二、实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。
三、实验内容:1.MATLAB简介:MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks 公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MA TLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks公司已推出30多个应用工具箱。
MATLAB在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能能基本满足信号与系统课程的需求。
例如,解微分方程、傅里叶正反变换、拉普拉斯正反变换、z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲激响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析、零极点图绘制等内容。
数值计算仿真分析可以帮助学生更深入理解信号与系统的理论知识,并为将来使用MA TLAB进行信号处理领域的各种分析和实际应用打下基础。
01 实验一 MATLAB的基本用法
x=linspace(0,pi,5) ↙ x= 0 0.7854 1.5708 2.3562 3.1416 logspace(0,2,11) ↙ ans = Columns 1 through 7 1.0000 1.5849 2.5119 3.9811 15.8489 Columns 8 through 11 25.1189 39.8107 63.0957 100.0000
16
矩阵的裁剪
《信息论》实验指导书—-应用MATLAB软件实现
《信息与编码理论》上机实验指导应用MATLAB软件实现UPC通信工程系本实验系列是采用MATLAB软件,主要针对《信息论基础》课程中的相关内容进行的实验。
MATLAB是一完整的并可扩展的讣算机环境,是一种进行科学和丄程讣算的交互式程序语言。
它的基本数据单元是不需要制定维数的矩阵,它可直接用于表达数学的算式和技术概念,解决同样的数值计算问题,使用MATLAB要比使用Basic. Fortran和C 语言等提高效率许多倍。
MATLAB还是一种有利的教学工具,在大学的线性代数课程以及其它领域的高一级课程的教学中,已称为标准的教学工具。
该指导书共安排了4个实验,现就一些悄况作简要说明:各实验要求学生在MATLAB系统上尽量独立完成,弄熾。
实验内容紧扣课程教学内容的各主要基本概念,希望同学们在完成每个实验后,对所学的内容起到巩固和加深理解的作用。
侮个实验做完后必须交一份实验报告。
恳请各位实验老师和同学在实验中提出宝贵意见,以利于以后改进提高。
实验一实验二实验三实验四离散信源及其信息测度离散信道及其容量无失真信源编码有噪信道编码附录部分常用MATLAB命令1012实验一离散信源及其信息测度一、[实验U的]离散无记忆信源是一种最简单且最重要的信源,可以用完备的离散型概率空间来描述。
本实验通过计算给定的信源的爛,加深对信源及其扩展信源的爛的概念的理解。
二、[实验环境]windows XPNATLAB三.[实验原理]信源输出的各消息的自信息量的数学期望为信源的信息爛,表达式如下H(X) = E[/(力)“(xjlog P(兀)信源爛是信源的统计平均不确定性的描述,是概率函数p(x)的函数。
四、[实验内容]1.有条100字符英文信息,假定其中每字符从26个英文字母和1个空格中等概选取,那么每条信息提供的信息量为多少若将27个字符分为三类,9个出现概率占2/7,13个出现概率占4/7, 5个出现占1/7,而每类中符号出现等概,求该字符信源的信息爛。
MATLAB教程说明实验一 matlab基本操作
实验一 MATLAB基本操作一、实验目的1.熟悉MATLAB工作环境,包括各栏菜单以及各个工具栏的功能;2.熟悉MATLAB创建矩阵的方法,熟练进行矩阵运算;3.熟练掌握MATLAB的帮助命令,学会使用MATLAB的帮助信息。
4.掌握matlab的绘图命令;5.掌握MATLAB程序设计基本方法;并编写简单的程序。
二、实验仪器设备计算机、Matlab软件、lena.bmp数字图像三、实验内容与步骤1.熟悉Matlab工作环境(1)打开计算机,启动MATLAB程序,进入MATLAB的工作界面;(2)熟悉MATLAB的菜单及各个工具栏的功能;(3)在命令窗口创建矩阵,并对矩阵中的元素进行操作;(4)创建矩阵并对进行矩阵运算;(5)绘制以下二维函数的图像,并改变曲线的颜色和线型,分别采用蓝色实线、红色虚线、黑色圆点绘制。
π2π=-xxey x≤)25≤2sin(2. 用who、whos命令查看当前工作窗口中的变量,比较两者的区别;3. 熟练掌握Matlab的帮助命令,学会利用Matlab的帮助信息;help命令: 查看函数的帮助type命令: 查看原代码lookfor命令用帮助命令查看下面的函数:imread --- 读取图像imwrite --- 写图像imhist ---显示图像直方图4. 打开M文件编辑器,熟悉M文件编辑器;图1.1 打开M 文件编辑器图1.2 M 文件编辑器5. 应用Matlab 语言编写统计、显示一幅灰度图像lena.bmp 的直方图程序;并与Matlab 内置的程序进行比较 ;Matlab 中显示灰度图像直方图的命令:imhist知识点:图像灰度直方图是灰度级的函数,描述的是图像中每种灰度级像素个数或频率。
横坐标是灰度级,纵坐标是每一灰度级具有的像元素或灰度级出现的频率。
灰度级的频率计算公式:式中,n i 为灰度级i 的出现次数,n 为像元总数。
四、实验报告整理实习内容,分析实验结果,撰写并提交实验报告。
快速上手Matlab的基本操作
快速上手Matlab的基本操作Matlab,全称Matrix Laboratory(矩阵实验室),是一种强大的数值计算和科学计算软件。
它以其简单易用的特点,在工程、科研和教育领域广泛应用。
本文将介绍快速上手Matlab的基本操作,帮助读者初步掌握这一工具。
1. Matlab的安装与启动首先,我们需要下载并安装Matlab,可以在MathWorks官网上找到最新的安装包。
安装完成后,我们可以通过双击桌面图标或者在开始菜单中找到Matlab的启动程序来打开它。
2. Matlab的主界面Matlab的主界面由几个重要组件组成,包括命令窗口、编辑器窗口、工作空间、当前文件浏览器和命令历史记录等。
在命令窗口中,我们可以直接输入和执行Matlab命令;编辑器窗口则用于编写和编辑Matlab脚本和函数;工作空间显示当前的变量和它们的值;当前文件浏览器显示当前工作目录下的文件;命令历史记录用于查看已经执行过的命令。
3. 基本的数学运算在Matlab中,我们可以进行各种数学运算,例如加减乘除、指数运算和三角函数等。
比如,我们可以输入命令`a = 2 + 3`来计算2加3的结果,并将结果赋给变量a。
通过使用分号,我们可以抑制输出结果。
此外,Matlab还提供了一些常见的数学函数,如sin、cos、tan和log等,可以方便地进行各种数学计算。
需要注意的是,Matlab中的变量可以是简单的数字,也可以是数组或矩阵。
4. 数据可视化Matlab具有强大的数据可视化功能,可以通过绘制图形来直观地展示数据。
比如,我们可以使用plot函数来绘制二维曲线图,使用scatter函数来绘制散点图,使用bar函数来绘制柱状图等等。
除了基本的数据可视化,Matlab还支持二维和三维图形的绘制,例如机械曲线、等高线图、散点图和三维曲面等。
通过设置各种参数,我们可以自定义图形的样式,使其更符合我们的需求。
5. 数据处理和分析Matlab不仅可以进行数学运算和数据可视化,还可以进行复杂的数据处理和分析。
信息论与编码matlab1
信息论实验报告姓名胡小辉班级电子信息工程0902 学号 **********1.实验目的1、掌握哈夫曼编码、费诺编码、汉明码原理;2、熟练掌握哈夫曼树的生成方法;3、学会利用matlab、C语言等实现Huffman编码、费诺编码以及hamming编码。
2.实验原理Huffman编码:哈夫曼树的定义:假设有n个权值,试构造一颗有n个叶子节点的二叉树,每个叶子带权值为wi,其中树带权路径最小的二叉树成为哈夫曼树或者最优二叉树;实现Huffman编码原理的步骤如下:1. 首先将信源符号集中的符号按概率大小从大到小排列。
2. 用0和1表示概率最小的两个符号。
可用0表示概率小的符号,也可用1表示概率小的符号,但整个编码需保持一致。
3. 将这两个概率最小的符号合并成一个符号,合并符号概率为最小概率之和,将合并后的符号与其余符号组成一个N-1的新信源符号集,称之为缩减符号集。
4. 对缩减符号集用步骤1,2操作5. 以此类推,直到只剩两个符号,将0和1分别赋予它们。
6. 根据以上步骤,得到0,1赋值,画出Huffman码树,并从最后一个合并符号回朔得到Huffmaan编码。
费诺编码:费诺编码的实现步骤:1、将信源消息符号按其出现的概率大小依次排列:。
2、将依次排列的信源符号按概率值分为两大组,使两个组的概率之和近似相同,并对各组赋予一个二进制码元“0”和“1”。
3、将每一大组的信源符号再分为两组,使划分后的两个组的概率之和近似相同,并对各组赋予一个二进制符号“0”和“1”。
4、如此重复,直至每个组只剩下一个信源符号为止。
5、信源符号所对应的码字即为费诺码。
hamming编码:若一致监督矩阵H 的列是由不全为0且互不相同的所有二进制m(m≥2的正整数)重组成,则由此H矩阵得到的线性分组码称为[2m-1,2m-1-m,3]汉明码。
我们通过(7,4)汉明码的例子来说明如何具体构造这种码。
设分组码(n,k)中,k = 4,为能纠正一位误码,要求r≥3。
实验1 Huffman编码生成器-matlab
1.计算机
2.Windows 2000或以上
3.MatLab
四、实验原理
Huffman编码算法
为使平均码长最短,必须使最后一步缩减信源有m个信源符号。如果第一步给概率最小的符号分配码元时,所取的符号数就不一定是m个。
对于m进制编码,若所有码字构成全树,可分离的码字数必为m+k(m-1),式中k为非负整数,即缩减次数。
% L为编码返回的平均码字长度,q为编码效率%
%*****************************************%
function [W,L,q]=huffman(P)
if (length(find(P<=0))~=0)
error('Not a prob.vector,negative component'); %判断是否符合概率分布条件
% H为信息熵%
%******************************%
function H=entropy(P,r)
if (length(find(P<=0))~=0)
error('Not a prob.vector,negative component'); %判断是否符合概率分布条件
end
s2='Huffman编码平均码字长度L:';
s3='Huffman编码的编码效率q:';
disp(s0);
disp(s1),disp(B),disp(W);
disp(s2),disp(L);
disp(s3),disp(q);
%函数说明:%
% H=entropy(P,r)为信息熵函数%
信息论与编码实验程序与结果图(matlab)
结果图信源熵实验程序:clc; close all; clear;linwidd=1fontt=20p0=0; pd=1; N=20p=linspace(p0,pd,N);I=-log2(p);plot(p,I,'k');title('I=-log2(p)函数图');xlabel('p');ylabel('I');clc; close all; clear;linwidd=1fontt=20p0=0; pd=1; N=20p=linspace(p0,pd,N);H=-p.*log2(p)-(1-p).*log2(1-p);plot(p,H,'k');title('H=-p.*log2(p)-(1-p).*log2(1-p)函数图');xlabel('p');ylabel('H');信道容量实验程序:clc; close all; clear;linwidd=1fontt=20p0=0; pd=1; N=20p=linspace(p0,pd,N);r=4c=log2(r)+(1-p).*log2(1-p)+p.*log2(p/(r-1));plot(p,c,'k');title('强对称信道容量数值模拟图');有噪信道编码--费诺不等式程序:结果图clc;close all;clear;r=3;p0=0.00001;pd=0.99999;N=2000;p=linspace(p0,pd,N);q=1-p;H=-p.*log2(p)-q.*log2(q);hold onHH=H+p.*log2(r-1)title('费诺不等式示意图');box onxlabel('PE');ylabel('H(X/Y)');plot(p,HH,'k:')hold onhold onfill([p,1],[HH,0],[0.6,0.6,0.6])stem((r-1)/r,1.59,'--.r')text(0.66,1.6,'最大值')香农编码程序:clc;clear all;close all;p=[0.2 0.19 0.18 0.17 0.15 0.1 0.01]; if sum(p)<1||sum(p)>1error('输入概率不符合概率分布')end[p index]=sort(p,'descend');n=length(p);pa=zeros(n,1);for ii=2:npa(ii)=pa(ii-1)+p(ii-1);endk=ceil(-log2(p));%码字长度计算c=cell(1,n);%生成元胞数组,用来存不同长度的码字for ii=1:nc{ii}='';tmp=pa(ii);for jj=1:k(ii)tmp=tmp*2;if tmp>=1tmp=tmp-1;%c{ii}{jj}='1';c{ii}=[char(c{ii}),'1']; else%c{ii}{jj}='0';c{ii}=[char(c{ii}),'0']; endendend c(index)=c;%换回原来的顺序codelength=zeros(1,n);%码长初始化for ii=1:nfprintf(['第',num2str(ii),'个消息对应为']);disp(c{ii});%显示码字codelength(ii)=length(c{ii});%endn_average=sum(codelength.*p) %平均码长fprintf('平均码长为');disp(n_average);H=-sum(p.*log2(p));fprintf('信源熵');disp(H);x=H/(n_average.*log2(2))fprintf('编码效率');disp(x);figureh=stem(1:n,codelength);%axis([0 n+1 0 n+1]);set(h,'MarkerFaceColor','blue','linewidth',2)实验结果结果图第1个消息对应为000第2个消息对应为001第3个消息对应为011第4个消息对应为100第5个消息对应为101第6个消息对应为1110第7个消息对应为1111110n_average = 3.1400平均码长为 3.1400信源熵 2.6087x =0.8308编码效率 0.8308费诺编码程序:endfor rr=2:2:needgroupnum*2index2=index_aftergroup(rr,:);for ii=index2(1):index2(2)c{ii}=[char(c{ii}),'1']; endendflag=0;index_p=[];for rr=1:needgroupnum*2indextmp=index_aftergroup(rr,:); if(indextmp(2)-indextmp(1)+1>1) flag=1;index_p=[index_p;indextmp]; endendjj=jj+1;endc(index)=c;codelength=zeros(1,N);for ii=1:Nfprintf(['第',num2str(ii),'个消息对应为']);disp(c{ii});codelength(ii)=length(c{ii}); endn_average=sum(codelength.*p)fprintf('平均码长为');disp(n_average);H=-sum(p.*log2(p));fprintf('信源熵');disp(H);x=H/(n_average.*log2(2))fprintf('编码效率');disp(x); figureh=stem(1:N,codelength);axis([0 N+1 0 N+1]);set(h,'MarkerFaceColor','blue','linewidth',2)endfunction index_aftergroup=func_group(p,index_p)index=index_p(1):index_p(2);n=length(index);p0=p(index);sump0=sum(p0);half_sump0=sump0/2;for ii=1:n-1tmpsum=sum(p0(1:ii));if abs(tmpsum-half_sump0)<=abs(tmpsum-half_sump0+p0(ii+1))index_aftergroup=[index(1) index(ii);index(ii+1) index(n)]; break;endendend实验结果结果图第1个消息对应为00第2个消息对应为010第3个消息对应为011第4个消息对应为10第5个消息对应为110第6个消息对应为1110第7个消息对应为1111n_average = 2.7400平均码长为 2.7400信源熵 2.6087x =0.9521编码效率 0.9521霍夫曼编码程序:clc;clear all;close all; A=[0.4 0.2 0.2 0.1 0.1]; A=sort(A,'descend');T=A;[m,n]=size(A);B=zeros(n,n-1);B(:,1)=T;r=B(n,1)+B(n-1,1);T(n-1)=r; T(n)=0;T=sort(T,'descend');t=n-1;for j=2:n-1B(1:t,j)=T(1:t);K=find(T==r);%B(n,j)=K(end);B(n,j)=K(1);r=(B(t-1,j)+B(t,j));T(t-1)=r;T(t)=0;T=sort(T,'descend');t=t-1;endB;ENDc1=sym('[1,0]');ENDc=ENDc1;t=3;d=1;for j=n-2:-1:1for i=1:t-2if i>1&&B(i,j)==B(i-1,j)d=d+1;elsed=1;endB(B(n,j+1),j+1)=-1;temp=B(:,j+1);x=find(temp==B(i,j));ENDc(i)=ENDc1(x(d));endy=B(n,j+1);ENDc(t-1)=[char(ENDc1(y)),'1']; ENDc(t)=[char(ENDc1(y)),'0'];t=t+1;ENDc1=ENDc;endA%排序后的原概率序列ENDc%编码结果for i=1:n[a,b]=size(char(ENDc(i)));L(i)=b;endavlen=sum(L.*A)%平均码长selen=(L-avlen).^2%?mselen=sum((selen).*A)%码长均方差H=-A*(log2(A'))%?P=H/avlen%?figure;subplot(2,1,1)h=stem(1:n,selen);%axis([0 n+1 0 max(selen)+0.1]);set(h,'MarkerFaceColor','blue','lin ewidth',2)xlabel('信源向上排');ylabel('方差值selen');hold onplot(0:n+1,mselen*ones(1,n+2),'r',' linewidth',2);hold offlegend('每个信源码长与平均码长的方差','码长均方差');A=[0.4 0.2 0.2 0.1 0.1];A=sort(A,'descend');T=A;[m,n]=size(A);B=zeros(n,n-1); B(:,1)=T;r=B(n,1)+B(n-1,1);T(n-1)=r;T(n)=0;T=sort(T,'descend');t=n-1;for j=2:n-1B(1:t,j)=T(1:t);K=find(T==r);B(n,j)=K(end);%B(n,j)=K(1);r=(B(t-1,j)+B(t,j));T(t-1)=r;T(t)=0;T=sort(T,'descend');t=t-1;endB;ENDc1=sym('[1,0]');ENDc=ENDc1;t=3;d=1;for j=n-2:-1:1for i=1:t-2if i>1&&B(i,j)==B(i-1,j)d=d+1;elsed=1;endB(B(n,j+1),j+1)=-1;temp=B(:,j+1);x=find(temp==B(i,j));ENDc(i)=ENDc1(x(d));endy=B(n,j+1);ENDc(t-1)=[char(ENDc1(y)),'1'];ENDc(t)=[char(ENDc1(y)),'0'];t=t+1;ENDc1=ENDc;endA%排序后的原概率序列ENDc%编码结果for i=1:n[a,b]=size(char(ENDc(i)));L(i)=b;endavlen=sum(L.*A)%平均码长selen=(L-avlen).^2%?mselen=sum((selen).*A)%码长均方差H=-A*(log2(A'))%?P=H/avlen%?subplot(2,1,2)h=stem(1:n,selen);%axis([0 n+1 0 max(selen)+0.1]);set(h,'MarkerFaceColor','blue','linewidth',2)xlabel('信源向下排');ylabel('方差值selen');hold onplot(0:n+1,mselen*ones(1,n+2),'r','linewidth',2);hold offlegend('每个码长与平均码长的方差','码长均方差');实验结果A = 0.4000 0.2000 0.20000.1000 0.1000ENDc =[ 11, 1, 0, 101, 100]avlen = 1.8000selen = 0.0400 0.6400 0.64001.4400 1.4400mselen =0.5600H =2.1219P =1.1788A =0.4000 0.2000 0.20000.1000 0.1000ENDc =[ 0, 10, 111, 1101, 1100]avlen =2.2000selen = 1.4400 0.0400 0.64003.2400 3.2400mselen =1.3600H =2.1219P =0.9645结果图。
信息论与编码实验一
实验报告实验名称关于信源熵的实验课程名称信息论与编码姓名成绩班级电子信息1102学号日期2013.11.22地点综合实验楼实验一关于信源熵的实验一、实验目的1. 掌握离散信源熵的原理和计算方法。
2. 熟悉matlab 软件的基本操作,练习使用matlab 求解信源的信息熵。
3. 自学图像熵的相关概念,并应用所学知识,使用matlab 或其他开发工具求解图像熵。
4. 掌握Excel的绘图功能,使用Excel绘制散点图、直方图。
二、实验原理1. 离散信源相关的基本概念、原理和计算公式产生离散信息的信源称为离散信源。
离散信源只能产生有限种符号。
随机事件的自信息量I(xi)为其对应的随机变量xi 出现概率对数的负值。
即: I (xi )= -log2p ( xi)随机事件X 的平均不确定度(信源熵)H(X)为离散随机变量 xi 出现概率的数学期望,即:2.二元信源的信息熵设信源符号集X={0,1} ,每个符号发生的概率分别为p(0)= p,p(1)= q,p+ q =1,即信源的概率空间为:则该二元信源的信源熵为:H( X) = - plogp–qlogq = - plogp –(1 - p)log(1- p)即:H (p) = - plogp –(1 - p)log(1- p) 其中 0 ≤ p ≤13. MATLAB二维绘图用matlab 中的命令plot( x , y) 就可以自动绘制出二维图来。
例1-2,在matlab 上绘制余弦曲线图,y = cos x ,其中 0 ≤ x ≤2 。
>>x =0:0.1:2*pi; %生成横坐标向量,使其为 0,0.1,0.2,…,6.2>>y =cos(x ); %计算余弦向量>>plot(x ,y ) %绘制图形4. MATLAB求解离散信源熵求解信息熵过程:1) 输入一个离散信源,并检查该信源是否是完备集。
2) 去除信源中符号分布概率为零的元素。
实验一 MATLAB 语言的基本使用方法
实验一 MATLAB 语言的基本使用方法【实验类别】:验证性实验【实验目的】:1)了解MATLAB 程序设计语言的基本特点,熟悉MATLAB软件运行环境。
2)掌握创建、保存、打开文件及数据的方法,掌握设置文件路径的方法。
3)掌握变量、函数等有关概念,具备初步的将一般数学问题转化为对应计算机模型并进行处理的能力。
【实验内容】:一、打开MATLAB,熟悉MATLAB环境:1、进入MATLAB之后,会看道到一个视窗MATLAB Command Window称为指令视窗,它是你键入指令的地方也是 MATLAB将计算结果显示在此。
而在它的功能选单一共有File,Edit, Options, Windows, Help五个主要功能,每一个之下各又有下一层的功能。
我们先从MATLAB的数学运算开始说明。
就像你的计算器一样,数学式的计算是直接了当。
如果我们要算 1+2+3及1×10+2×20+3×30这二个式子,以下例子接著提示符号>>之后的是要键入的算式,MATLAB将计算的结果以ans显示。
如果算式是x=1+2+3,MATLAB将计算的结果以x显示。
>> 1+2+3ans =6>> 1*10 + 2*20 + 3*30ans =140>> x=1+2+3x =6如果在上述的例子结尾加上;,则计算结果不会显示在指令视窗上,要得知计算值只须键入该变数值即可>> x=1+2+3;>> xx =63、MATLAB提供基本的算术运算有:加 (+)、减 (-)、乘 (*)、除 (/)、幂次方 (^),范例为:5+3, 5-3, 5*3, 5/3, 5^3其它在计算常用的功能我们来看一个算式来说明。
要计算面积Area = ,半径r = 2,则可键入>> r=2;>> area=pi*r^2运行结果为>> area =12.5664我们也可以将上述指令打在同一行,以, 或是; 分开,例如>> r=2, area=pi*r^2>> r=2; area=pi*r^2;如果一个指令过长可以在结尾加上...(代表此行指令与下一行连续)4、MATLAB可以将计算结果以不同的精确度的数字格式显示,我们可以在指令视窗上的功能选单上的Options下选Numerical Format,或者直接在指令视窗键入以下的各个数字显示格式的指令,以1.3333值为例format short1.3333format short e1.3333e+000format short g1.3333format long1.33333333333333format long e1.333333333333333e+000format long g1.33333333333333format bank1.33format +++format rat4/3format hex3ff55555555555555、MATLAB对使用变数名称的规定:1.变数名称的英文大小写是有区别的(apple, Apple, AppLe,三个变数不同)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 MATLAB 的基本操作
一、实验目的
1、掌握Matlab 软件使用的基本方法;
2、熟悉Matlab 的数据表示、基本运算方法;
3、熟悉Matlab 绘图命令及基本绘图控制。
二、实验仪器与软件
1、PC 机 1台
2、MATLAB7.0环境
三、实验原理
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-文件。
如,计算3
[(12)34)]2+⨯-÷,只需在提示符“>>”后输入“((1+2)*3-4)/2^3”,然后按Enter 键。
该命令行涉及加、减、乘、除及幂运算符,MATLAB 运算的执行次序遵循的优先规则为:从左到右执行;幂运算具有最高的优先级,乘法和除法具有相同的次优先级,加法和减法有相同的最低优先级;使用括号可以改变前述优先次序,并由最内层括号向外执行。
3、常用命令
MATLAB 可以把多条命令放在同一行,各命令之间用逗号“,”或分号“;”隔开,逗号告诉MATLAB 系统显示本命令的结果,分号告诉系统取消结果的显示(只是不显示,该命令行仍正常执行)。
clear 命令 若想清除MATLAB 当前工作空间中所有定义过的变量,使用clear 命令;若只想清除其中某几个变量,只需在命令clear 后写入变量的名称即可,如想清除变量x 、y ,在“>>”后键入“clear x y ”即可。
help 命令 在MA TLAB 命令窗口使用help 命令寻求帮助。
例如, >> help ceil ↵ lookfor 命令 lookfor 命令来查询根据用户提供的关键字搜索到的相关函数,然后再使用help 命令与其配合使用,可了解查询到的确切函数的具体用法。
常用的数学函数如表1所示。
表1 常用数学函数表
函数 功能 函数 功能 sin(x)
正弦函数
asin(x)
反正弦函数
cos(x) 余弦函数acos(x) 反余弦函数
tan(x) 正切函数atan(x) 反正切函数
abs(x) 绝对值或复数的模sqrt(x) 开平方
real(x)) 复数的实部imag(x) 复数的虚部
angle(x) 复数的相角conj(x) 复数的共轭
exp(x) e的指数函数pow2(x) 2的指数函数
log(x) 自然对数函数log2(x) 以2为底的对数函数
log10(x) 以10为底的对数函数sign(x) 符号函数
round(x) 四舍五入函数fix(x) 沿原点方向舍入
floor(x) 沿负无穷大方向舍入ceil(x) 沿正无穷大方向舍入
rat(x) 将实数x展开为多项分数rats(x) 将实数x化为分数
rem(x,y) x除以y的余数mod(x,y) 求模数(带符号的余数)
gcd(x,y) 整数x、y的最大公因子lcm(x,y) 整数x、y的最小公倍数
4、MATLAB的矩阵运算
MATLAB的基本数据结构和运算单元是矩阵。
1、矩阵的创建
创建矩阵时要遵循以下几条基本规则:
(1)将矩阵元素输入方括号内;
(2)同一行的元素用逗号或空格分隔;
(3)不同行的元素用分号分隔或直接用回车符换行后分行输入。
例如:输入如下命令
>> A=[16 3 2 13;5 10 11 8;9 6 7 12;4 15 14 1]
2、矩阵元素的引用
(1)A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
(2)A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。
四、实验内容:
1、帮助命令:使用 help 命令,查找 sqrt(开方)函数的使用方法;
2、使用lookfor命令寻找一个数以十为底的对数函数。
3、矩阵运算
(1)矩阵的乘法
已知 A=[1 2;3 4]; B=[5 5;7 8];
求 A^2*B
解答:
(2)矩阵除法
已知 A=[1 2 3;4 5 6;7 8 9];
B=[1 0 0;0 2 0;0 0 3];
A\B,A/B
(3)使用冒号选出指定元素
已知: A=[1 2 3;4 5 6;7 8 9];
求 A 中第 3 列前 2 个元素;A 中所有列第 2,3 行的元素;
4、相传古代印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他要什么?达依尔回答:“陛下只要在国际象棋棋盘的第一个格子上放一粒麦子,第二个格子上放二粒麦子,以后每个格子的麦子数都按前一格的两倍计算。
如果陛下按此法给我64格的麦子,就感激不尽,其他什么也不要了。
”国王想:“这还不容易!”让人扛了一袋麦子,但很快用光了,再扛出一袋还不够,请你为国王算一下共要给达依尔多少小麦?(1袋小麦约1.4×108颗)(注:将源程序和实验结果写在报告中)
五、实验结果(利用所学知识,完成上述各项实验内容,并将实验过程和实验步骤和结果写在报告中。
)
1、
2、
3(1)、
3(2)、
3(3)、
4、
源程序:
i=0,a=2;
for n=0:1:63
b=a^n;
i=b+i;
end
i=i/(1.4*10^8)
实验结果
六、实验小结(对本次实验结果进行分析和总结)
本次实验顺利完成。
通过这次实验,我掌握了Matlab软件使用的基本方法,熟悉了Matlab的数据表示、基本运算方法,熟悉了Matlab绘图命令及基本绘图控制。
知道了matlab的工作原理以及很多实际操作方法。
本次实验属于操作熟悉软件运行环境,相对比较简单。
只要认真阅读书本,仔细按照老师的要求做就可以完成,没有碰到什么大问题。