当前位置:文档之家› MATLAB初学者笔记详细记录

MATLAB初学者笔记详细记录

MATLAB初学者笔记详细记录
MATLAB初学者笔记详细记录

MATLAB简介

【实验目的】

1.了解MATLAB的数值运算;

2.了解MATLAB的一些基本函数及命令;

3.学习、掌握MATLAB软件有关的命令。

【实验准备】

1.熟悉MATLAB

MATLAB的首创是在数值代数领域颇有影响的Cleve Moler 博士,他在讲授线性代数课程时,深感高级语言编程的诸多不便之处,于是萌生了开发新的软件平台,即为MATLAB (MATrix LABoratory,矩阵实验室),软件采用了当时流行的EISPACK(基于特征值计算的软件包)和LINPACK(线性代数软件包)中的子程序,利用FORTRAN语言编写而成。现今的MATLAB已全部采用C语言改写,并使用户界面变得越来越好。

由Moler博士等一批数学家和软件专家组建了MathWorks软件公司,专门从事MATLAB的扩展和改进。自1982年推出第一个版本以来,1992年推出了具有划时代意义的MATLAB V4.0,1993年推出了可用于IBM PC 及其兼容机上的微机版,特别是与Windows配合使用,使MATLAB的应用得到了前所未有的发展。

1.1 MATLAB的主要功能

(1).数值计算和符号计算功能

MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。

MATLAB和著名的符号计算语言Maple相结合,使得MATLAB具有符号计算功能。

(2).绘图功能

MATLAB提供了两个层次的绘图操作:一种是对图形句柄进行的低层绘图操作,另一种是建立在低层绘图操作之上的高层绘图操作。

(3).编程语言

MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。

(4).MATLAB工具箱

MATLAB包含两部分内容:基本部分和各种可选的工具箱。

MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。

1.2 初识MATLAB

启动MATLAB后,将进入MATLAB 6.5集成环境。MATLAB 6.5集成环境包括MATLAB主窗口、命令窗口(Command Window)、工作空间窗口(Workspace)、命令历史窗口(Command History)、当前目录窗口(Current Directory)和启动平台窗口(Launch Pad)。

MATLAB系统的退出

要退出MATLAB系统,也有3种常见方法:

(1) 在MATLAB主窗口File菜单中选择Exit MATLAB命令。

(2) 在MATLAB命令窗口输入Exit或Quit命令。

(3) 单击MATLAB主窗口的“关闭”按钮。

.主窗口

MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。

在MATLAB 6.5主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help 6个菜单项。

(1) File菜单项:File菜单项实现有关文件的操作。

(2) Edit菜单项:Edit菜单项用于命令窗口的编辑操作。

(3) View菜单项:View菜单项用于设置MATLAB集成环境的显示方式。

(4) Web菜单项:Web菜单项用于设置MATLAB的Web操作。

(5) Window菜单项:主窗口菜单栏上的Window菜单,只包含一个子菜单Close all,用于关闭所有打

开的编辑器窗口,包括M-file、Figure、Model和GUI窗口。

(6) Help菜单项:Help菜单项用于提供帮助信息。

工具栏

MATLAB 6.5主窗口的工具栏共提供了10个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。

命令窗口

命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。

MATLAB命令窗口中的“>>”为命令提示符,表示MATLAB正在处于准备状态。在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。

一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例如

p=15,m=35

p=15;m=35

如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。

在MATLAB里,有很多的控制键和方向键可用于命令行的编辑。

命令历史记录窗口

在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择Edit菜单中的Clear Command History命令。

2.基本数值运算

在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之后,并按入Enter键即可。例如计算(5*2+1.3-0.8)*10/25的值:

用键盘在MATLAB指令窗中输入以下内容

>> (5*2+1.3-0.8)*10/25

(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。

(3)在指令执行后,MATLAB指令窗中将显示以下结果。

ans =

4.2000

MATLAB会将运算结果直接存入一变量ans,代表MATLAB运算后的答案(Answer),并显示其数值于屏幕上。

由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。

我们也可将上述运算式的结果设定给另一个变数x如下:

>> x = (5*2+1.3-0.8)*10^2/25

x =

42

此时MATLAB会直接显示x的值。

小提示:变量命名的规则

1.第一个字母必须是英文字母且区分大小写;

2.字母间不可留空格;

3.最多只能有63个字母,MATLAB会忽略多余字母。

变量也可用来存放向量或矩阵,并进行各种运算,例如:

>> x = [1 3 5 2]; %4维向量赋值给变量x

>> y = 2*x+1 %上一行命令后面加“;”表示运行结果不显示

y =

3 7 11 5

当要查询变量的值时,只需在系统提示符号>>后直接输入该变量名即可, 如:

>> x

x =

1 3 5 2

在上例中,MATLAB会忽略所有在百分比符号(%)之后的文字,因此百分比之后的文字均可视为注释,不会影响系统的运算结果。

定义符号变量,用sym或syms,例如:

>> syms a b %定义两个符号变量a,b,两个变量之间用空格隔开

>> a^b

ans =

a^b

定义字符串变量,例如:

>> s='你好!' %定义字符串变量,输出(’ ’)中内容

s =

你好!

以符号的形式输出表达式,用命令sym(),例如:

>>x = sym([1 3 5 2]) %向量以符号的形式输出

x =

[ 1, 3, 5, 2]

在书写语句时,可以用逗号(,)或分号(;)隔开,区别仅在于屏幕显示的不同:用逗号隔开,屏幕会显示运算的结果,使用分号则不会。例如:

>> x1=2,y1=3 %使用逗号,屏幕显示运算结果

x1 =

2

y1 =

3

>> x2=2;y2=3; %使用逗号,屏幕不会显示运算结果,(;)也表示语句结束

MATLAB可在同时执行数个命令,只要以逗号或分号将命令隔开。例如:

>> x = sin(pi/3); y = x^2; z = y*10, %在同一行输入多个命令

z =

7.5000

若一个数学运算是太长,可用三个句点将其延伸到下一行,如:

>> z = 10*sin(pi/3)* ... %换行

sin(pi/3)

z =

7.5000

3.基本数学函数

MATLAB常用的基本数学函数格式:函数(变量)。例如:

>> x=-2;

>> abs(x) % x的绝对值

ans =

2

几点注意:

1.函数一定在等式的右边;

2.每个函数对其变量的个数和格式都有一定的要求;例如:sin(x)与sind(x)对变量要求不同;

3.函数允许嵌套。

例如: sqrt(abs(sin(225*pi/180))),即。

4.几个常用命令

clear x:清除变量x

clear all:清除所有变量

help:用来查询已知命令的用法。例如matlab代码:

>> help sin %显示关于sin函数的帮助

运算结果为:

SIN Sine.

SIN(X) is the sine of the elements of X.

See also asin, sind.

Overloaded functions or methods (ones with the same name in other directories)

help sym/sin.m

Reference page in Help browser

doc sin

lookfor:用来寻找未知的命令。例如要寻找计算逆矩阵的命令,可键入lookfor inverse,MATLAB会列出所有和关键字inverse相关的指令。找到所需的命令后,即可用help进一步找出其用法。

whos: 查看当前工作区内变量信息

open *.m:打开m文件

exit或quit:退出MATLAB

format:输出结果位为小数

format long: 输出结果为15位小数

format rat:输出结果为有理数

注:format命令仅仅影响数据在屏幕上的显示格式,不会影响系统内部的存储和运算精度。

表1-1 基本算术运算符及特殊运算符

表1-2 一些特殊的变量与常量(预定义变量)

表1-3 常用的数学函数

表1-4 几种常用命令

【实验内容】

例1-1:计算.

相应的matlab代码及运算结果如下::

>> format %结果一小数形式输出

>> sin((8+5*log2(4))/(abs(3-7))^3) %输入表达式

ans =

0.2776

例1-2:计算,以符号的形式输出.

相应的matlab代码及运算结果如下:

>> a=2*sym(sqrt(8))

a =

4*2^(1/2)

或者:

>> 2*sym(power(8,1/2)) %power(8,1/2)进行开方元算ans =

4*2^(1/2)

【例】用MATLAB计算能得到–2 吗?

(1)

a=-8;

r=a^(1/3)

r =

1.0000 + 1.7321i

(2)>> sym(power(-8,1/3))

ans =

(1)+(sqrt(3))*i

(3)构造p(r)=

p=[1,0,0, 8];

R=roots(p);

R =

-2.0000

1.0000 + 1.7321i

例1-3:已知计算.

相应的matlab代码及运算结果如下:

>> clear

>> a=3+4*i;b=2-i;c=2*exp(i*pi/6);

>> x=a*b/c

x =

5.5801 - 0.3349i

>>y=abs(a)

>>z=angle(a)

>>g=angle(a)*180/pi

例1-4:输出字符串“matlab7.0”

相应的matlab代码及运算结果如下:

>> s='matlab7.0'

s =

matlab7.0

例1-5:输出多项式,并查看变量.

相应的matlab代码及运算结果如下:

>> clear %清除变量

>> syms x; %定义符号变量x

>> y=x^2+5*x+4

y =

x^2+5*x+4

例1-6:已知多项式,计算,.

相应的matlab代码及运算结果如下:

>> clear

>> f1=sym('x^2+4'),f2=sym('2*x^3-3*x^2+2*x+3') %输出符号表达式

f1 =

x^2+4

f2 =

2*x^3-3*x^2+2*x+3

>> f=f1+f2 %实现符号对象的加法运算

f =

-2*x^2+7+2*x^3+2*x

>> g=f1*f2 %实现符号对象的乘法运算

g =

(x^2+4)*(2*x^3-3*x^2+2*x+3)

>> expand(g) %多项式展开

ans =

2*x^5-3*x^4+10*x^3-9*x^2+8*x+12

例1-7:求解下列方程组:.

相应的matlab代码及运算结果如下:

>> clear

>> [x,y]=solve('x^2+2*x*y+y^2-4','x-y-3') %求解方程

x = 5/2

1/2

y = -1/2

-5/2所以方程组有两组解分别为:.

说明:求解方程租的格式*x1,x2,…,xN+=solve(‘eqn1’,’eqn2’,…,’eqnN’),其中eqni为方程.

MATLAB 的常用函数

一、MATLAB常用的基本数学函数

abs(x):纯量的绝对值或向量的长度

angle(z):复数z的相角(Phase angle)

sqrt(x):开平方

real(z):复数z的实部

imag(z):复数z的虚部

conj(z):复数z的共轭复数

round(x):四舍五入至最近整数

fix(x):无论正负,舍去小数至最近整数

floor(x):地板函数,即舍去正小数至最近整数

ceil(x):天花板函数,即加入正小数至最近整数

rat(x):将实数x化为分数表示

rats(x):将实数x化为多项分数展开

sign(x):符号函数(Signum function)。

当x<0时,sign(x)=-1;

当x=0时,sign(x)=0;

当x>0时,sign(x)=1。

rem(x,y):求x除以y的馀数

gcd(x,y):整数x和y的最大公因数

lcm(x,y):整数x和y的最小公倍数

exp(x):自然指数

pow2(x):2的指数

log(x):以e为底的对数,即自然对数或

log2(x):以2为底的对数

log10(x):以10为底的对数

二、MATLAB常用的三角函数

sin(x):正弦函数

cos(x):馀弦函数

tan(x):正切函数

asin(x):反正弦函数

acos(x):反馀弦函数

atan(x):反正切函数

atan2(x,y):四象限的反正切函数

sinh(x):超越正弦函数

cosh(x):超越馀弦函数

tanh(x):超越正切函数

asinh(x):反超越正弦函数

acosh(x):反超越馀弦函数

atanh(x):反超越正切函数

三、适用於向量的常用函数有:

min(x): 向量x的元素的最小值

max(x): 向量x的元素的最大值

mean(x): 向量x的元素的平均值

median(x): 向量x的元素的中位数

std(x): 向量x的元素的标准差

diff(x): 向量x的相邻元素的差

sort(x): 对向量x的元素进行排序(Sorting)

length(x): 向量x的元素个数

norm(x): 向量x的欧氏(Euclidean)长度

sum(x): 向量x的元素总和

prod(x): 向量x的元素总乘积

cumsum(x): 向量x的累计元素总和

cumprod(x): 向量x的累计元素总乘积

dot(x, y): 向量x和y的内积

cross(x, y): 向量x和y的外积

四、MATLAB的永久常数

i或j:基本虚数单位(即)

eps:系统的浮点(Floating-point)精确度

inf:无限大,例如1/0

nan或NaN:非数值(Not a number),例如0/0 pi:圆周率p(= 3.1415926...)

realmax:系统所能表示的最大数值

realmin:系统所能表示的最小数值

nargin: 函数的输入引数个数

nargin: 函数的输出引数个数

五、MATLAB基本绘图函数

plot: x轴和y轴均为线性刻度(Linear scale)loglog: x轴和y轴均为对数刻度(Logarithmic scale)semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度

六、plot绘图函数的叁数

字元颜色字元图线型态

y 黄色 . 点

k 黑色o 圆

w 白色x x

b 蓝色+ +

g 绿色* *

r 红色- 实线

c 亮青色: 点线

m 锰紫色-. 点虚线

-- 虚线

七、注解

xlabel('Input Value'); % x轴注解

ylabel('Function Value'); % y轴注解

title('Two Trigonometric Functions'); % 图形标题legend('y = sin(x)','y = cos(x)'); % 图形注解

grid on; % 显示格线

八、二维绘图函数

bar 长条图

errorbar 图形加上误差范围

fplot 较精确的函数图形

polar 极座标图

hist 累计图

rose 极座标累计图

stairs 阶梯图

stem 针状图

fill 实心图

feather 羽毛图

compass 罗盘图

quiver 向量场图

附录Ⅰ工具箱函数汇总

Ⅰ.1 统计工具箱函数

表Ⅰ-1 概率密度函数

函数名对应分布的概率密度函数

betapdf 贝塔分布的概率密度函数

binopdf 二项分布的概率密度函数

chi2pdf 卡方分布的概率密度函数

exppdf 指数分布的概率密度函数

fpdf f分布的概率密度函数

gampdf 伽玛分布的概率密度函数

geopdf 几何分布的概率密度函数

hygepdf 超几何分布的概率密度函数

normpdf 正态(高斯)分布的概率密度函数lognpdf 对数正态分布的概率密度函

nbinpdf 负二项分布的概率密度函

ncfpdf 非中心f分布的概率密度函数

nctpdf 非中心t分布的概率密度函数

ncx2pdf 非中心卡方分布的概率密度函数poisspdf 泊松分布的概率密度函数

raylpdf 雷利分布的概率密度函数

tpdf 学生氏t分布的概率密度函数

unidpdf 离散均匀分布的概率密度函数

unifpdf 连续均匀分布的概率密度函数

weibpdf 威布尔分布的概率密度函数

表Ⅰ-2 累加分布函数

函数名对应分布的累加函数

betacdf 贝塔分布的累加函数

binocdf 二项分布的累加函数

chi2cdf 卡方分布的累加函数

expcdf 指数分布的累加函数

fcdf f分布的累加函数

gamcdf 伽玛分布的累加函数

geocdf 几何分布的累加函数

hygecdf 超几何分布的累加函数

logncdf 对数正态分布的累加函数

nbincdf 负二项分布的累加函数

ncfcdf 非中心f分布的累加函数

nctcdf 非中心t分布的累加函数

ncx2cdf 非中心卡方分布的累加函数

normcdf 正态(高斯)分布的累加函数

poisscdf 泊松分布的累加函数

raylcdf 雷利分布的累加函数

tcdf 学生氏t分布的累加函数

unidcdf 离散均匀分布的累加函数

unifcdf 连续均匀分布的累加函数

weibcdf 威布尔分布的累加函数

表Ⅰ-3 累加分布函数的逆函数

函数名

matlab函数汇总表Ⅰ-11 线性模型函数

函数描述

anova1 单因子方差分析

anova2 双因子方差分析

anovan 多因子方差分析

aoctool 协方差分析交互工具

dummyvar 拟变量编码

friedman Friedman检验

glmfit 一般线性模型拟合

kruskalwallis Kruskalwallis检验

leverage 中心化杠杆值

lscov 已知协方差矩阵的最小二乘估计

manova1 单因素多元方差分析

manovacluster 多元聚类并用冰柱图表示multcompare 多元比较

多项式评价及误差区间估计

polyfit 最小二乘多项式拟合

polyval 多项式函数的预测值

polyconf 残差个案次序图

regress 多元线性回归

regstats 回归统计量诊断

续表

函数描述

Ridge 岭回归

rstool 多维响应面可视化

robustfit 稳健回归模型拟合

stepwise 逐步回归

x2fx 用于设计矩阵的因子设置矩阵

表Ⅰ-12 非线性回归函数

函数描述

nlinfit 非线性最小二乘数据拟合(牛顿法)nlintool 非线性模型拟合的交互式图形工具nlparci 参数的置信区间

nlpredci 预测值的置信区间

nnls 非负最小二乘

表Ⅰ-13 试验设计函数

函数描述

cordexch D-优化设计(列交换算法)daugment 递增D-优化设计

dcovary 固定协方差的D-优化设计

ff2n 二水平完全析因设计

fracfact 二水平部分析因设计

fullfact 混合水平的完全析因设计hadamard Hadamard矩阵(正交数组)rowexch D-优化设计(行交换算法)

表Ⅰ-14 主成分分析函数

函数描述

barttest Barttest检验

pcacov 源于协方差矩阵的主成分

pcares 源于主成分的方差

princomp 根据原始数据进行主成分分析

表Ⅰ-15 多元统计函数

函数描述

classify 聚类分析

mahal 马氏距离

manova1 单因素多元方差分析manovacluster 多元聚类分析

表Ⅰ-16 假设检验函数

函数描述

ranksum 秩和检验

signrank 符号秩检验

signtest 符号检验

ttest 单样本t检验

ttest2 双样本t检验

ztest z检验

matlab函数汇总32007-10-17 10:27表Ⅰ-17 分布检验函数

函数描述

jbtest 正态性的Jarque-Bera检验

kstest 单样本Kolmogorov-Smirnov检验

kstest2 双样本Kolmogorov-Smirnov检验

lillietest 正态性的Lilliefors检验

表Ⅰ-18 非参数函数

函数描述

friedman Friedman检验

kruskalwallis Kruskalwallis检验

ranksum 秩和检验

signrank 符号秩检验

signtest 符号检验

表Ⅰ-19 文件输入输出函数

函数描述

caseread 读取个案名

casewrite 写个案名到文件

tblread 以表格形式读数据

tblwrite 以表格形式写数据到文件

tdfread 从表格间隔形式的文件中读取文本或数值数据

表Ⅰ-20 演示函数

函数描述

aoctool 协方差分析的交互式图形工具

disttool 探察概率分布函数的GUI工具

glmdemo 一般线性模型演示

randtool 随机数生成工具

polytool 多项式拟合工具

rsmdemo 响应拟合工具

robustdemo 稳健回归拟合工具

你可以通过这个链接引用该篇文章:https://www.doczj.com/doc/6513377989.html,/tb.b?diaryId=15962478

附录1 常用命令

附录1.1 管理用命令函数名功能描述函数名功能描述

addpath 增加一条搜索路径rmpath 删除一条搜索路径

demo 运行Matlab演示程序type 列出.M文件

doc 装入超文本文档version 显示Matlab的版本号

help 启动联机帮助what 列出当前目录下的有关文件

lasterr 显示最后一条信息whatsnew 显示Matlab的新特性

lookfor 搜索关键词的帮助which 造出函数与文件所在的目录

path 设置或查询Matlab路径

附录1.2管理变量与工作空间用命令函数名功能描述函数名功能描述clear 删除内存中的变量与函数pack 整理工作空间内存

disp 显示矩阵与文本save 将工作空间中的变量存盘

length 查询向量的维数size 查询矩阵的维数

load 从文件中装入数据who,whos 列出工作空间中的变量名

附录1.3文件与操作系统处理命令函数名功能描述函数名功能描述

cd 改变当前工作目录edit 编辑.M文件

delete 删除文件matlabroot 获得Matlab的安装根目录

diary 将Matlab运行命令存盘tempdir 获得系统的缓存目录

dir 列出当前目录的内容tempname 获得一个缓存(temp)文件

! 执行操作系统命令

附录1.4窗口控制命令函数名功能描述函数名功能描述

echo 显示文件中的Matlab中的命令more 控制命令窗口的输出页面format 设置输出格式

附录1.5启动与退出命令函数名功能描述函数名功能描述

matlabrc 启动主程序quit 退出Matlab环境

startup

Matlab自启动程序

附录2 运算符号与特殊字符附录

2.1运算符号与特殊字符函数名功能描述函数名功能描述

+ 加 ... 续行标志

- 减, 分行符(该行结果不显示)

* 矩阵乘; 分行符(该行结果显示)

.* 向量乘% 注释标志

^ 矩阵乘方! 操作系统命令提示符

.^ 向量乘方矩阵转置

kron 矩阵kron积 . 向量转置

\ 矩阵左除= 赋值运算

/ 矩阵右除== 关系运算之相等

.\ 向量左除~= 关系运算之不等

./ 向量右除<关系运算之小于

: 向量生成或子阵提取<= 关系运算之小于等于

() 下标运算或参数定义>关系运算之大于

[] 矩阵生成>= 关系运算之大于等于

{} &逻辑运算之与

. 结构字段获取符| 逻辑运算之或

. 点乘运算,常与其他运算符联合使用(如.\) ~ 逻辑运算之非

xor 逻辑运算之异成

附录2.2逻辑函数函数名功能描述函数名功能描述

all 测试向量中所用元素是否为真is*(一类函数)

检测向量状态.其中*表示一个确定的函数(isinf)

any 测试向量中是否有真元素*isa 检测对象是否为某一个类的对象

exist 检验变量或文件是否定义logical 将数字量转化为逻辑量

find 查找非零元素的下标

附录3 语言结构与调试

附录3.1编程语言函数名功能描述函数名功能描述

builtin 执行Matlab内建的函数global 定义全局变量

eval 执行Matlab语句构成的字符串nargchk 函数输入输出参数个数检验feval 执行字符串指定的文件script Matlab语句及文件信息

function Matlab函数定义关键词

附录3.2控制流程函数名功能描述函数名功能描述

break 中断循环执行的语句if 条件转移语句

case 与switch结合实现多路转移otherwise 多路转移中的缺省执行部分else 与if一起使用的转移语句return 返回调用函数

elseif 与if一起使用的转移语句switch 与case结合实现多路转移

end 结束控制语句块warning 显示警告信息

error 显示错误信息while 循环语句

for 循环语句

附录3.3交互输入函数名功能描述函数名功能描述

input 请求输入menu 菜单生成

keyboard 启动键盘管理pause 暂停执行

附录3.4面向对象编程函数名功能描述函数名功能描述

class 生成对象isa 判断对象是否属于某一类

double 转换成双精度型superiorto 建立类的层次关系

inferiorto 建立类的层次关系unit8 转换成8字节的无符号整数inline 建立一个内嵌对象

附录3.5调试函数名功能描述函数名功能描述

dbclear 清除调试断点dbstatus 列出所有断点情况

dbcont 调试继续执行dbstep 单步执行

dbdown 改变局部工作空间内存dbstop 设置调试断点

dbmex 启动对Mex文件的调试sbtype 列出带命令行标号的.M文件dbquit 退出调试模式dbup 改变局部工作空间内容

dbstack 列出函数调用关系

附录4 基本矩阵与矩阵处理

附录4.1基本矩阵函数名功能描述函数名功能描述

eye 产生单位阵rand 产生随机分布矩阵

linspace 构造线性分布的向量randn 产生正态分布矩阵

logspace 构造等对数分布的向量zeros 产生零矩阵

ones 产生元素全部为1的矩阵: 产生向量

附录4.2特殊向量与常量函数名功能描述函数名功能描述

ans 缺省的计算结果变量non 非数值常量常由0/0或Inf/Inf获得computer 运行Matlab的机器类型nargin 函数中参数输入个数

eps 精度容许误差(无穷小) nargout 函数中输出变量个数

flops 浮点运算计数pi 圆周率

i 复数单元realmax 最大浮点数值

inf 无穷大realmin 最小浮点数值

inputname 输入参数名varargin 函数中输入的可选参数

j 复数单元varargout 函数中输出的可选参数

附录4.3时间与日期函数名功能描述函数名功能描述

calender 日历eomday 计算月末

clock 时钟etime 所用时间函数

cputime 所用的CPU时间now 当前日期与时间

date 日期tic 启动秒表计时器

datenum 日期(数字串格式) toc 读取秒表计时器

datestr 日期(字符串格式) weekday 星期函数

datevoc 日期(年月日分立格式)

附录4.4矩阵处理函数名功能描述函数名功能描述

cat 向量连接reshape 改变矩阵行列个数

diag 建立对角矩阵或获取对角向量rot90 将矩阵旋转90度

fliplr 按左右方向翻转矩阵元素tril 取矩阵的下三角部分

flipud 按上下方向翻转矩阵元素triu 取矩阵的上三角部分

repmat 复制并排列矩阵函数

附录5 特殊矩阵函数名功能描述函数名功能描述

compan 生成伴随矩阵invhilb 生成逆hilbert矩阵

gallery 生成一些小的测试矩阵magic 生成magic矩阵

hadamard 生成hadamard矩阵pascal 生成pascal矩阵

hankel 生成hankel矩阵toeplitz 生成toeplitz矩阵

hilb 生成hilbert矩阵wilkinson 生成wilkinson特征值测试矩阵

附录6 数学函数

附录6.1三角函数函数名功能描述函数名功能描述

sin/asin 正弦/反正弦函数sec/asec 正割/反正割函数

sinh/asinh 双曲正弦/反双曲正弦函数sech/asech 双曲正割/反双曲正割函数cos/acos 余弦/反余弦函数csc/acsc 余割/反余割函数

cosh/acosh 双曲余弦/反双曲余弦函数csch/acsch 双曲余割/反双曲余割函数tan/atan 正切/反正切函数cot/acot 余切/反余切函数

tanh/atanh 双曲正切/反双曲正切函数coth/acoth 双曲余切/反双曲余切函数atan2 四个象限内反正切函数

附录6.2指数函数函数名功能描述函数名功能描述

exp 指数函数log10 常用对数函数

log 自然对数函数sqrt 平方根函数

附录6.3复数函数函数名功能描述函数名功能描述

abs 绝对值函数imag 求虚部函数

angle 角相位函数real 求实部函数

conj 共轭复数函数附录6.4数值处理函数名功能描述函数名功能描述

fix 沿零方向取整round 舍入取整

floor 沿-∞方向取整rem 求除法的余数

ceil 沿+∞方向取整sign 符号函数

附录6.5其他特殊数学函数函数名功能描述函数名功能描述

airy airy函数erfcx 比例互补误差函数

besselh bessel函数(hankel函数) erfinv 逆误差函数

bessili 改进的第一类bessel函数expint 指数积分函数

besselk 改进的第二类bessel函数gamma gamma函数

besselj 第一类bessel函数gammainc 非完全gamma函数

bessely 第二类bessel函数gammaln gamma对数函数

beta beta函数gcd 最大公约数

betainc 非完全的beta函数lcm 最小公倍数

betaln beta对数函数log2 分割浮点数

elipj Jacobi椭圆函数legendre legendre伴随函数

ellipke 完全椭圆积分pow2 基2标量浮点数

erf 误差函数rat 有理逼近

erfc 互补误差函数rats 有理输出

Matlab中有没有画圆或椭圆的函数?没有,Matlab没有提供直接绘圆的图元函数,需要自己写代码,其实就两句:

sita=0:pi/20:2*pi;

plot(r*cos(sita),r*sin(sita)); %半径为r的圆

plot(a*cos(sita+fi),b *sin(sita+fi)); %椭圆

如果是单位圆,可以使用rectangle('Curvature', [1 1])

实验二多项式

【实验目的】

1.学习、掌握MATLAB软件有关的命令;

2.掌握多项式的表示;

3.学会进行MATLAB中多项式的运算,包括加、减、乘、除;在某点的值;求根,判断重根;求导;求商、余式;求最大公因式、最小公倍式。

【实验准备】

1.向量或数组的表达

向量输入格式:变量名=[ 向量数据]

输入向量方法:用键盘上方括号“[ ] ”代替向量括号。向量数据在方括号内按行输入,相邻元素用空格(或逗号)隔开。

2.多项式的表达

(1) 多项式的向量表达

i)形如的多项式,可以用向量来表示:

例如:就可以表示为P=[1 0 -2 3 -4]。

ii)已知多项式的根为,则该多项式为:poly(A)

(2) 多项式的形式表达

i) 直接以符号的形式输出多项式,例如:

>> f1=sym('x^4-2*x^2+3*x-4')

f1 =

x^4-2*x^2+3*x-4

ii) 定义符号变量,再输出多项式的表达式,例如:

>> syms x

>> f1=x^4-2*x^2+3*x-4

f1 =

x^4-2*x^2+3*x-4

iii)已知多项式的向量表达形式,则多项式为:poly2str(A,’x’),例如:

>> A=[1 0 -2 3 -4]; %多项式的向量表达式

>> f1=poly2str(A,'x') %多项式的形式表达式

x^4 - 2 x^2 + 3 x - 4

3.多项式的运算

(1)向量表达的多项式运算

在进行加法与减法运算时,参加运算的多项式必须具有相同的阶数,如果阶数不同,则低阶的多项式必须补零。例如:

>> a=[1 0 2];b=[1 2 3 5 0]; %两个多项式

>> f1=poly2str(a,'x')

f1 =

x^2 + 2

>> f2=poly2str(b,'x')

f2 =

x^4 + 2 x^3 + 3 x^2 + 5 x

>> c=[0 0 a] + b %求和

c =

1 2 4 5 2

>> poly2str(c,'x')

ans =

x^4 + 2 x^3 + 4 x^2 + 5 x + 2

>> d=[0 0 ,a]-b %求差

d =

-1 -2 -2 -5 2

>> poly2str(d,'x')

ans =

-1 x^4 - 2 x^3 - 2 x^2 - 5 x + 2

多项式乘法:conv(x,y) 多项式x与y的乘积。例如:

>> e=conv(a,b) %求积

e =

1 2 5 9 6 10 0

>> poly2str(e,'x')

ans =

x^6 + 2 x^5 + 5 x^4 + 9 x^3 + 6 x^2 + 10 x

多项式带余除法:[q,r]=deconv(x,y) 多项式y被x除,q是商式,r是余式。

例如:

>> [q,r]=deconv(b,a) %带余除法

q =

1 2 1

r =

0 0 0 1 -2

>> q=poly2str(q,'x') %商式

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

matlab信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)'); (2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t); >> plot(t,x);

>> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)'); 因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]); (3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔: t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕') >> t=-0.1:0.0001:0.1; x=cos(100*t)+cos(3000*t); >> plot(t,x);title('杨婕婕朱艺星'); >> xlabel('x=cos(100*t)+cos(3000*t)');

图论算法及其MATLAB程序代码

图论算法及其MATLAB 程序代码 求赋权图G =(V ,E ,F )中任意两点间的最短路的Warshall-Floyd 算法: 设A =(a ij )n ×n 为赋权图G =(V ,E ,F )的矩阵,当v i v j ∈E 时a ij =F (v i v j ),否则取a ii =0,a ij =+∞(i ≠j ),d ij 表示从v i 到v j 点的距离,r ij 表示从v i 到v j 点的最短路中一个点的编号. ①赋初值.对所有i ,j ,d ij =a ij ,r ij =j .k =1.转向② ②更新d ij ,r ij .对所有i ,j ,若d ik +d k j <d ij ,则令d ij =d ik +d k j ,r ij =k ,转向③. ③终止判断.若d ii <0,则存在一条含有顶点v i 的负回路,终止;或者k =n 终止;否则令k =k +1,转向②. 最短路线可由r ij 得到. 例1求图6-4中任意两点间的最短路. 解:用Warshall-Floyd 算法,MATLAB 程序代码如下: n=8;A=[0281Inf Inf Inf Inf 206Inf 1Inf Inf Inf 8607512Inf 1Inf 70Inf Inf 9Inf Inf 15Inf 03Inf 8 Inf Inf 1Inf 3046 Inf Inf 29Inf 403 Inf Inf Inf Inf 8630];%MATLAB 中,Inf 表示∞ D=A;%赋初值 for (i=1:n)for (j=1:n)R(i,j)=j;end ;end %赋路径初值 for (k=1:n)for (i=1:n)for (j=1:n)if (D(i,k)+D(k,j)

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (1) (2)

信号(MATLAB)实验指导书

《信号与系统》实验指导书 张建奇骆崇编写 浙江工业大学之江学院信息工程分院 2012年2月

目录 实验一MATLAB的基本使用 (1) 一、实验目的 (1) 二、实验原理 (1) 三、实验内容与要求 (8) 四、实验报告 (9) 实验二时域波形的MATLAB实现 (10) 一、实验目的 (10) 二、预习要求 (10) 三、实验原理 (10) 四、实验内容与要求 (18) 五、实验报告 (19) 实验三用MATLAB对系统时域分析 (20) 一、实验目的 (20) 二、预习要求 (20) 三、实验原理 (20) 四、实验内容与要求 (29)

实验一MATLAB的基本使用 一、实验目的 1、了解和掌握MATLAB的基本操作 2、了解MATLAB的库函数 3、会用MATLAB进行简单的操作。 二、实验原理 1、界面操作 MATLAB是“MATrix LABoratory”的缩写(矩阵实验室),它是由美国Mathworks公司于1984年正式推出的一种科学计算软件,由于其强大的功能,在欧美的一些大学里MATLAB已经成为许多诸如数字信号处理、自动控制理论等高级教程的主要工具软件,同时也成为理工科学生,必须掌握的一项基本技能。 当需要运行程序时,只需选择桌面上(或开始)中的MATLAB6.5应用程序图标即可 通常情况下,MATLAB的工作环境主要由一下几个窗口组成: 命令窗口(Command Window)

工作区间浏览器(Workspace) 历史命令窗口(Command History) 图形窗口(Figure) 文本编辑窗口(Editor) 当前路径窗口(Current Directory) MATLAB的命令窗与命令操作 当用户使用命令窗口进行工作时,在命令窗口中可以直接输入相应的命令,系统将自动显示信息。 例如在命令输入提示符“>>”后输入指令: >>t=[1,2,3;4,5,6;7,8,9]; 按回车键(Enter)后,系统即可完成对变量t的赋值。 MATALB提供了非常方便的在线帮助命令(help),它可提供各个函数的用法指南,包括格式、参数说明、注意事项及相关函数等内容。 2、图形窗 MATLAB图形窗(Figure)主要用于显示用户所绘制的图形。 通常,只要执行了任意一种绘图命令,图形窗就会自动产生。

实验1 用MATLAB进行信号频谱分析(推荐文档)

实验1 用MATLAB 进行信号频谱分析 一、实验目的 ㈠ 初步掌握MATLAB 产生常用离散时间信号的编程方法。 ㈡ 学习编写简单的FFT 算法程序,对离散信号进行幅频谱分析。 ㈢ 观察离散时间信号频谱的特点。 二、实验原理 ㈠ 常用的离散时间信号 在 MATLAB 语言主要是研究离散信号的。常用的离散信号有: 1.单位取样序列 ???≠==000 1)(n n n δ 2.单位阶跃序列 ?? ?<≥=0 01 )(n n n u 3.实指数序列 R a n a n x n ∈?=;)( 4.复指数序列 n e n x n j ?=+)(0)(ωσ 5.正(余)弦序列 )c o s ()(0θω+=n n x n ? 6.周期序列 n N n x n x ?+=)()( ㈡ 离散信号的产生 离散信号的图形显示使用stem 指令。 在 MATLAB 中的信号处理工具箱中,主要提供的信号是离散信号。

由于MATLAB 对下标的约定为从1开始递增,例如x=[5,4,3,2,1,0],表示x(1)=5,x(2)=4,X(3)=3… 因此要表示一个下标不由1开始的数组x(n),一般应采用两个矢量,如 n=[-3,-2,-1,0,l ,2,3,4,5]; x=[1,-l ,3,2,0,4,5,2,1]; 这表示了一个含9个采样点的矢量:X(n)={x(-3),x(-2),x(-1),x(0),x(1),x(2),x(3),x(4),x(5)}。 1.单位取样序列 ?? ?≠==δ0 001)(n n n 这一函数实现的方法有二: 方法一:可利用MATLAB 的zeros 函数。 x=zeros(1,N); %建立一个一行N 列的全零数组 x(1)=1; %对X (1)赋1 方法二:可借助于关系操作符实现 n=1:N; x=[n==1]; %n 等于1时逻辑关系式结果为真,x=1;n 不等于1时为假,x=0 如要产生 ?????≤<<=≤≤=-δ2 0210 100)(10)(n n n n n n n n n n n n 则可采用MATLAB 实现: n=n1:n2; x=[(n-n0)==0];%n=n0时逻辑关系式结果为真,x=1;n ≠n0时为

(整理)matlab16常用计算方法.

常用计算方法 1.超越方程的求解 一超越方程为 x (2ln x – 3) -100 = 0 求超越方程的解。 [算法]方法一:用迭代算法。将方程改为 01002ln()3 x x =- 其中x 0是一个初始值,由此计算终值x 。取最大误差为e = 10-4,当| x - x 0| > e 时,就用x 的值换成x 0的值,重新进行计算;否则| x - x 0| < e 为止。 [程序]P1_1abs.m 如下。 %超越方程的迭代算法 clear %清除变量 x0=30; %初始值 xx=[]; %空向量 while 1 %无限循环 x=100/(2*log(x0)-3); %迭代运算 xx=[xx,x]; %连接结果 if length(xx)>1000,break ,end %如果项数太多则退出循环(暗示发散) if abs(x0-x)<1e-4,break ,end %当精度足够高时退出循环 x0=x; %替换初值 end %结束循环 figure %创建图形窗口 plot(xx,'.-','LineWidth',2,'MarkerSize',12)%画迭代线'.-'表示每个点用.来表示,再用线连接 grid on %加网格 fs=16; %字体大小 title('超越方程的迭代折线','fontsize',fs)%标题 xlabel('\itn','fontsize',fs) %x 标签 ylabel('\itx','fontsize',fs) %y 标签 text(length(xx),xx(end),num2str(xx(end)),'fontsize',fs)%显示结果 [图示]用下标作为自变量画迭代的折线。如P0_20_1图所示,当最大误差为10-4时,需要迭代19次才能达到精度,超越方程的解为27.539。 [算法]方法二:用求零函数和求解函数。将方程改为函数 100()2ln()3f x x x =-- MATLAB 求零函数为fzero ,fzero 函数的格式之一是 x = fzero(f,x0) 其中,f 表示求解的函数文件,x0是估计值。fzero 函数的格式之二是 x = fzero(f,[x1,x2])

MATLAB全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

matlab信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2 sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');

(2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t); >> plot(t,x); >> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');

因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]);

(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕')

Matlab使用技巧

Matlab-scope示波器菜单调用命令set(0,'ShowHiddenHandles','on'); set(gcf,'menubar','figure'); 一般的测量检测模块是把示波器输入端连到要测量的参数所在点或者回路。Multimeter则不一样。楼主有没有注意过有的模块的连接是尖头的,有的是一个圆圈形状的?可以理解为尖头的是弱电或数字信号,可以用示波器直接测。圆头的是强电信号,不能直接用示波器。对于这样的信号,一般是:有些器件(强电器件)打开后,器件设置单中最后有一栏是“测量量”,选择测量什么信号以后,再用Multimeter“不接触测量”。比如:一个RLC模块,最后一栏选定“测量所有电流电压”。注意这之前Multimeter打开左栏是空白的,外观是一个“回”里面一个“0”,选定RLC“测量所有电流电压”后打开Multimeter,左栏就有RLC的电流电压什么的了。选定要测的,移到右栏,就可以用示波器测波形了。此后“回”里面就不是“0”了,而是用户选择测量的数据个数了。matlab 6.5/7.0——simulink模型无法保存及其兼容性问题完整解决方案2009-06-25 09:45 mdl文件在6.5里面做的,但是到了7.0里面却打不开,下面就是相关信息:Warning: Unable to load model file 'd:\MATLAB7\work\*.mdl'. Run "bdclose all;

set_param(0, 'CharacterEncoding', Enc)" where Enc is one of windows-1252, ISO-8859-1, then load the model. The first character that is not supported in the current character encoding setting ('ibm-1386_P100-2002') occurs on line 1795, byte offset 21. To correctly load models with non-ASCII characters, you must explicitly use the character encoding that was used to save the file. Type "help slCharacterEncoding" for more information on setting character encoding and to learn more about which encodings are commonly found on your platform. 或 者是直接保存出现如下信息:Error while saving model 'untitled'using the character encoding setting 'ibm..... 问题产生原因:模型中含有不能识别的字符,比如中文等等,尤其是matlab对中文的支持不是很 好(不知道是不是D版的原因)。解决的办法:(1)在工作空间中输入下列命令,然后打开bdclose all; set_param(0,'CharacterEncoding','windows-1252') 或(2)在工作空间中输入下列命令,然后打开bdclose all set_param(0, 'CharacterEncoding', 'ISO-8859-1') 或(3)在工作空间中输入下列命令,然后

matlab学习心得体会(精选3篇)

matlab学习心得体会(精选3篇) matlab学习心得体会一:matlab学习心得matlab中有丰富的图形处理能力,提供了绘制各种图形、图像数据的函数。他提供了一组绘制二维和三维曲线的函数,他们还可以对图形进行旋转、缩放等操作。matlab内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。 本学期通过对matlab的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了matlab的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用matlab,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。 matlab是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。 matlab学习心得体会二:matlab学习心得(463字) 学习matlab是听说它是一个功能强大的数学软件,但是正被微积分的计算缠身,听说有一个高级的计算器当然高兴,以后可以偷懒了,当然现在不能偷懒。听说关于自动化的计算特别复杂,如果有一种软件能帮忙解题,那是一种极大的解脱,有益于缩短研究时间。目前我只知道有三种数学软件,都是国外的,没有国内的,差距挺大的。matlab学起来挺顺手的,比c语言简单。但是深入学习的时候却困难重重,因为很多知识都没有学习,就算知道那些函数,也没有什么用处。老师布置的作业难度大,写一篇实验,大一什么都不会,写一篇这种论文谈何容易。最多也就会一些数值计算、符号计算、简单绘图,根本不会什么实验。 学习matlab体会最多的是这个软件的功能强大,好多数学题都被轻易的解出。但是有一点遗憾,不知是我不会用,还是它没个功能,已知空间的电荷分布,求空间的电场分布。其中电场分布是无法用函数表达式表示。我知道计算机肯定可以实现,但是这个软件能不能实现就不知道了,我看过许多资料,但是在这方面没有提到相关信息。 总之,这个软件功能强大,不知什么时候国内才有类似的软件。 matlab学习心得体会三:学习matlab的心得(817字) 这是我在学习的过程中的一些技巧,或许对你有帮助,可能字数不你能满足你的要求,但是绝对是精华。

(图论)matlab模板程序

(图论)matlab模板程序

第一讲:图论模型 程序一:可达矩阵算法 %根据邻接矩阵A(有向图)求可达矩阵P(有向图) function P=dgraf(A) n=size(A,1); P=A; for i=2:n P=P+A^i; end P(P~=0)=1; %将不为0的元素变为1 P; 程序二:无向图关联矩阵和邻接矩阵互换算法F表示所给出的图的相应矩阵 W表示程序运行结束后的结果 f=0表示把邻接矩阵转换为关联矩阵 f=1表示把关联矩阵转换为邻接矩阵 %无向图的关联矩阵和邻接矩阵的相互转换 function W=incandadf(F,f) if f==0 %邻接矩阵转换为关联矩阵 m=sum(sum(F))/2; %计算图的边数 n=size(F,1); W=zeros(n,m); k=1; for i=1:n for j=i:n if F(i,j)~=0 W(i,k)=1; %给边的始点赋值为1 W(j,k)=1; %给边的终点赋值为1 k=k+1; end end end elseif f==1 %关联矩阵转换为邻接矩阵 m=size(F,2); n=size(F,1); W=zeros(n,n); for i=1:m a=find(F(:,i)~=0); W(a(1),a(2))=1; %存在边,则邻接矩阵的对应值为1 W(a(2),a(1))=1;

end else fprint('Please imput the right value of f'); end W; 程序三:有向图关联矩阵和邻接矩阵互换算法 %有向图的关联矩阵和邻接矩阵的转换 function W=mattransf(F,f) if f==0 %邻接矩阵转换为关联矩阵 m=sum(sum(F)); n=size(F,1); W=zeros(n,m); k=1; for i=1:n for j=i:n if F(i,j)~=0 %由i发出的边,有向边的始点 W(i,k)=1; %关联矩阵始点值为1 W(j,k)=-1; %关联矩阵终点值为-1 k=k+1; end end end elseif f==1 %关联矩阵转换为邻接矩阵 m=size(F,2); n=size(F,1); W=zeros(n,n); for i=1:m a=find(F(:,i)~=0); %有向边的两个顶点 if F(a(1),i)==1 W(a(1),a(2))=1; %有向边由a(1)指向a(2) else W(a(2),a(1))=1; %有向边由a(2)指向a(1) end end else fprint('Please imput the right value of f'); end W;

MATLAB实训小结

实训小结 为期一周的MATLAB实训在学习与忙碌中度过了,时间虽短,但我们却真真切切的学到了知识,在现实工作中可以运用的知识。 在第一节课,我们便了解到MATLAB是世界上最流行的、应用最广泛的工程计算和仿真软件,它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程绘图和用户界面设计等。对MATLAB的系统结构和特点等,老师也向我们做出了大致的讲解,同时,我们知道了MATLAB程序的一些最基本的应用和运算,并能够进行一些简单的编程。就这样,实训的第一天大家都在期待和兴奋中度过。 接下来的时间,主要是以大家自学和练习为主,老师进行辅导和考察。在学习过程中,不懂的可以相互之间小声的讨论,也可向老师请教,但必须确保自己真正学到了知识,认真的看书并进行编程练习。一天的学习接近尾声时,就是老师考察大家一天的收获的时候了,老师总会出一些小题目让大家编出它的程序,虽然有的题目对我们来说还是有些难度的,但是在老师的指点下我们还是编出程序的,当我们看到自己编的程序运行正确时,总是会万分的兴奋,充满成就感。 就这样,仅仅一个星期的实训就结束了,虽然不能十分熟悉和运用MATLAB的所有程序,但是我们却打下了一定的基础,

在以后,当我们真正开始深入学习这门学问时,我们对它将不会再那么陌生,学起来也将轻松许多。这次实训为我们提供了一个很好的学习机会,唯一不足的就是时间有点短,我们不能在这段时间里学到更多的知识,因此,在这一周打下的基础上,我们需要用自己的努力去自学,以获取更多的知识。 知识是无穷无尽的,知识的获取需要一颗上进的心,老师将我们领进了门,下面的路就应该我们自己去走,即是充满荆棘,也要努力奋斗往前冲。

matlab编程技巧

1、. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断。MATLAB这时可能正疲于应付,响应会有些滞后。 2. figure命令新建一个绘图窗口 figure 可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口。当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象。所谓的当前figure窗口,也就是最后一次查看的窗口(可以用命令gcf得到)。 figure(N),将编号为N的窗口置为当前figure,出现在所有窗口的最前面,如果该窗口不存在,则新建一个编号为N的空白figure。 3. 注释掉一段程序:%{、%}。 经典方法是用 if 0,但缺点是不够直观,注释掉的内容仍然保持代码的颜色。现在可以用 %和{ 的组合。输入%{后,后面的代码都会变绿,在注释结束的地方再加上 %} 。 也可以选中要注释内容,在右键菜单中选择Comment (Uncomment去掉注释标记),或使用快捷键Ctrl+R。 将光标放在需要注释的行中,按Ctrl+R,将该行变为注释。取消注释也是一样的,快捷键为Ctrl+T。 4. doc 命令名,打开命令的帮助文档 与help命令不同,帮助文档MATLAB Help中对命令的描述更详细,往往还有一些例子,更便于理解。 5. clc 清屏 清除命令窗口中的所有输入和输出信息,不影响命令的历史记录。 6. clear 和clear all clear 变量名:可以清除workspace中的无用的变量,尤其是一些特别大的矩阵,不用时及时清理,可以减少内存占用。 clear all 清除所有的变量,使workspace一无所有,当重新开始一次算法验证时,最好执行一次,让workspace中的变量一目了然。 7. close all 如果开了多个绘图窗口,用这个命令将它们一起关掉。 8. 上下光标键↑↓ 在命令窗口中,上下光标键可以将历史记录中的命令复制到输入位置,便于快速重新执行。如果输入命令的前几个字母如 [row, col] =,再使用光标键,则只会选择以这些字母开始的命令。 9. Tab补全 对名称记得不太清楚的命令,可以输入开头的几个字母,然后按Tab键,当只有一个以这些字母开头的命令时,将自动补全命令名,否则显示一个命令名列表,方便从中选择。当然,只在命令窗口中有效。 10. cell模式 在一个长长的脚本m文件中,可能需要对其中的一段反复修改,查看执行效果,这时,cell模式就非常有用了。cell模式相当于将其中的代码拷贝到命令窗口中运行。两个%后接一个空格(%% )开始一个cell。将输入光标放到一个cell中时,背景将变为浅黄色,Ctrl+Enter执行cell中的代码。 执行cell中代码时不需要保存m文件,该m文件可以不在路径列表中。 cell模式中,断点不起作用,当然,调用的子程序中的断点还是正常的。 11. 获取文件列表,批处理

MATLAB课程设计实验体会

课程设计实验体会 学生姓名:李祥胜 学生学号:20120704 专业班级:光信息科学与技术 指导老师:miss Chen 学院:信息工程学院 题目: MATLAB学期实验总结

MATLAB概念及介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB集成环境主要包括五个部分:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和数学建模、小波分析、MATLAB API(App lication Program Interface)。MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输人输出及面向对象等特点的高级语言。利用SIMULINK对系统进行仿真与分析,在进入虚拟实验环境后,不需要书写代码,只需使用鼠标拖动库中的功能模块并将它们连接起来,再按照实验要求修改各元器件的参数。通过虚拟实验环境建立实验仿真电路模型,可使一些枯燥的电路变得有趣味,复杂的波形变得形象生动,使得各种复杂的能量转换过程比较直观地呈现。 1.1、MATLAB语言特点及优势 1.1.1、语言特点 MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB 给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。 (1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。 (2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。 (3)MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。 (4)语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。 (5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

基带信号眼图实验——matlab仿真

基带信号眼图实验——matlab 仿真

————————————————————————————————作者:————————————————————————————————日期: ?

数字基带信号的眼图实验——matla b仿真 一、实验目的 1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法; 2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度; 3、熟悉MATL AB 语言编程。 二、实验预习要求 1、复习《数字通信原理》第七章7.1节——奈奎斯特第一准则内容; 2、复习《数字通信原理》第七章7.2节——数字基带信号码型内容; 3、认真阅读本实验内容,熟悉实验步骤。 三、实验原理和电路说明 1、基带传输特性 基带系统的分析模型如图3-1所示,要获得良好的基带传输系统,就应该 () n s n a t nT δ-∑() H ω() n s n a h t nT -∑基带传输抽样判决 图3-1?基带系统的分析模型 抑制码间干扰。设输入的基带信号为()n s n a t nT δ-∑,s T 为基带信号的码元周期,则经过基 带传输系统后的输出码元为 ()n s n a h t nT -∑。其中 1 ()()2j t h t H e d ωωωπ +∞ -∞ = ? ?(3-1) 理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足: 10()0,s k h kT k =?=? ? , 为其他整数 ?? ?(3-2) 频域应满足:

图论算法及matlab程序的三个案例

图论实验三个案例 单源最短路径问题 Dijkstra 算法 Dijkstra 算法是解单源最短路径问题的一个贪心算法。其基本思想是,设置一个顶点集合S 并不断地作贪心选择来扩充这个集合。一个顶点属于集合S 当且仅当从源到该顶点的最短路径长度已知。设v 是图中的一个顶点,记()l v 为顶点 v 到源点v 1的最短距离, ,i j v v V ?∈,若 (,)i j v v E ?,记i v 到j v 的权ij w =∞。 Dijkstra 算法: ① 1{}S v =,1()0l v =;1{}v V v ??-,()l v =∞,1i =,1{}S V v =-; ② S φ=,停止,否则转③; ③ ()min{(),(,)} j l v l v d v v =, j v S ∈,v S ?∈; ④ 存在 1 i v +,使 1()min{()} i l v l v +=,v S ∈; ⑤ 1{} i S S v +=, 1{} i S S v +=-,1i i =+,转②; 实际上,Dijkstra 算法也是最优化原理的应用:如果12 1n n v v v v -是从1v 到 n v 的最短路径,则 12 1 n v v v -也必然是从1v 到 1 n v -的最优路径。 在下面的MATLAB 实现代码中,我们用到了距离矩阵,矩阵第i 行第j 行元 素表示顶点i v 到j v 的权ij w ,若i v 到j v 无边,则realmax ij w =,其中realmax 是 MATLAB 常量,表示最大的实数+308)。 function re=Dijkstra(ma)

【参考文档】matlab实验心得体会_学习matlab的心得体会-优秀word范文 (3页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == matlab实验心得体会_学习matlab的心得体会 导语:通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法。以下是小编带来的matlab实验心得体会,希望对您有所帮助。 matlab实验心得体会(一) 学习matlab是听说它是一个功能强大的数学软件,但是正被微积分的计算缠身,听说有一个高级的计算器当然高兴,以后可以偷懒了,当然现在不能偷懒。听说关于自动化的计算特别复杂,如果有一种软件能帮忙解题,那是一种 极大的解脱,有益于缩短研究时间。目前我只知道有三种数学软件,都是国外的,没有国内的,差距挺大的。matlab学起来挺顺手的,比C语言简单。但是 深入学习的时候却困难重重,因为很多知识都没有学习,就算知道那些函数, 也没有什么用处。老师布置的作业难度大,写一篇实验,大一什么都不会,写 一篇这种论文谈何容易。最多也就会一些数值计算、符号计算、简单绘图,根 本不会什么实验。 学习matlab体会最多的是这个软件的功能强大,好多数学题都被轻易的解出。但是有一点遗憾,不知是我不会用,还是它没个功能,已知空间的电荷分布,求空间的电场分布。其中电场分布是无法用函数表达式表示。我知道计算 机肯定可以实现,但是这个软件能不能实现就不知道了,我看过许多资料,但 是在这方面没有提到相关信息。 总之,这个软件功能强大,不知什么时候国内才有类似的软件。 matlab实验心得体会(二) 我从中国石油大学(北京)来到大庆油田勘探开发研究院实习,刚刚来到这 里时我内心充满了激动和喜悦,对这个有着辉煌成绩的科研单位充满了期待。 到了这里没多久我就参加培训中心组织的入院教育,对研究院的辉煌过去有了 更深刻的了解,那时我就下定决心在研究院好好实习,多学习一些现场经验,为以后的工作打下良好的基础。 一个月的入院培训结束后,经过自己申请和中心安排我被分到了地震资料 处理一室,实习期间地震一室的副主任陈志德是我的现场导师,陈主任有着丰

信号与系统MATLAB实验总汇

实验一、MATLAB 编程基础及典型实例 一、实验目的 (1)熟悉MATLAB 软件平台的使用; (2)熟悉MATLAB 编程方法及常用语句; (3)掌握MATLAB 的可视化绘图技术; (4)结合《信号与系统》的特点,编程实现常用信号及其运算。 示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。编制一个函数型m 文件,实现这个功能。function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2) a=min(min(n1),min(n2)); b=max(max(n1),max(n2)); n=a:b; f1_new=zeros(1,length(n)); f2_new=zeros(1,length(n)); tem1=find((n>=min(n1))&(n<=max(n1))==1); f1_new(tem1)=f1; tem2=find((n>=min(n2))&(n<=max(n2))==1); f2_new(tem2)=f2; 四、实验内容与步骤 (2)绘制信号x(t)=)3 2sin(2t e t ?的曲线,t 的范围在0~30s ,取样时间间隔为0.1s 。t=0:0.1:30; y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);

(3)在n=[-10:10]范围产生离散序列:?? ?≤≤?=Other n n n x ,033,2)(,并绘图。n=-10:1:10; z1=((n+3)>=0); z2=((n-3)>=0); x=2*n.*(z1-z2); stem(n,x);(4)编程实现如下图所示的波形。 t=-2:0.001:3; f1=((t>=-1)&(t<=1)); f2=((t>=-1)&(t<=2)); f=f1+f2; plot(t,f); axis([-2,3,0,3]);

相关主题
文本预览