当前位置:文档之家› matlab代码大全

matlab代码大全

matlab代码大全
matlab代码大全

MATLAB主要命令汇总

MATLAB函数参考

附录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 有理输出

附录7 坐标转换

函数名功能描述函数名功能描述

cart2pol 笛卡儿坐标到极坐标转换 pol2cart 极坐标到笛卡儿坐标转换

cart2sph 笛卡儿坐标到球面坐标转换 sph2cart 球面坐标到笛卡儿坐标转换

附录8 矩阵函数

附录8.1矩阵分析

函数名功能描述函数名功能描述

cond 求矩阵的条件数 rcond LINPACK倒数条件估计

det 求矩阵的行列式 rref 矩阵的行阶梯型实现

norm 求矩阵的范数 rrefmovie 消元法解方程演示

null 右零空间 subspace 子空间

orth 正交空间 trace 矩阵的迹

rank 求矩阵的秩

附录8.2线性方程

函数名功能描述函数名功能描述

/,\ 线性方程求解 nnls 非零最小二乘

chol Cholesky分解 pinv 求伪逆矩阵

inv 矩阵求逆 qr 矩阵的QR分解

lscov 最小二乘方差 qrdelete QR分解中删除一行

lu 矩阵的LU三角分解 qrinsert QR分解中插入一行

附录8.3特征值与奇异值

函数名功能描述函数名功能描述

banlance 改进特征值精度的均衡变换 qz QZ算法求矩阵特征值

cdf2rdf 复块对角阵到实块对角阵转换 rdf2cdf 实块对角阵到复块对角阵转换eig 求矩阵的特征值和特征向量 schur Schur分解

hess 求Hessenberg矩阵 svd 奇异值分解

poly 求矩阵的特征多项式

附录8.4矩阵函数

函数名功能描述函数名功能描述

expm 矩阵指数函数 logm 矩阵对数函数

funm 矩阵任意函数 sqrtm 矩阵平方根

附录9 数据分析与Fourier变换函数

附录9.1基本运算

函数名功能描述函数名功能描述

cumprod 向量累积 prod 对向量中各元素求积

cumsum 向量累加 sort 对向量中各元素排序

max 求向量中最大元素 sortrows 对矩阵中各行排序

min 求向量中最小元素 std 求向量中各元素标准差

mean 求向量中各元素均值 sum 对向量中各元素求和

median 求向量中中间元素 trapz 梯形法求数值积分

附录9.2微分计算

函数名功能描述函数名功能描述

del2 离散Laplace变换 gradient 梯度计算

diff 差分于近视微分

附录9.3滤波与卷积

函数名功能描述函数名功能描述

Conv 卷给与多项式乘法 filter 一维数字滤波

conv2 二维卷积 filter2 二维数字滤波

Deconv 因式分解与多项式乘法

附录9.4方差处理

函数名功能描述函数名功能描述

corrcoef 相关系数计算 cov 协方差计算

附录9.5Fourier变换

函数名功能描述函数名功能描述

abs 绝对值函数 fftshift fft与fft2输出重排

angle 相角函数 ifft 离散Fourier逆变换

cplxpair 依共轭复数对重新排序 ifft2 二维离散Fourier逆变换fft 离散Fourier变换 unwrap 相角矫正

fft2 二维离散Fourier变换

附录10 多项式处理函数

附录10.1多项式处理

函数名功能描述函数名功能描述

conv 卷机与多项式乘法 polyfit 数据的多项式拟合

deconv 因式分解与多项式乘法 polyval 多项式求值

poly 求矩阵的特征多项式 polyvalm 多项式矩阵求值

polyder 多项式求导 residue 部分分式展开

polyeig 多项式特征值 roots 求多项式的根

附录10.2数据插值

函数名功能描述函数名功能描述

griddata 数据网络的插值生成 interpft 一维插值(FFT方法)

interp1 一维插值(查表) interpn 多维插值(查表)

interp2 二维插值(查表) meshgrid 构造三维图形用x,y阵列

interp3 三维插值(查表) spline 三次样条插值

附录11 非线性数值方法

函数名功能描述函数名功能描述

dblquad 双重积分 odeget 获得微分方程求解的可选参数

fmin 单变量最优化函数 odeset 设置微分方程求解的可选参数

fmins 多变量最优化函数 quad 低阶数值积分方法

ode45,ode23,ode113,ode15s,ode23s 微分方程数值解法 quad8 高阶数值积分方法

odefile 对文件定义的微分方程求解

附录12 稀疏矩阵函数

附录12.1基本稀疏矩阵

函数名功能描述函数名功能描述

spdiags 稀疏对角矩阵 sprandn 稀疏正态分布随机矩阵

speye 稀疏单位矩阵 sprandsym 稀疏对称随机矩阵

sprand 稀疏均匀分布随机矩阵

附录12.2稀疏矩阵转换

函数名功能描述函数名功能描述

find 查找非零元素下标 sparse 常规矩阵转换为稀疏矩阵

full 稀疏矩阵转换为常规矩阵 spconvert 由外部格式引入稀疏矩阵

附录12.3处理非零元素

函数名功能描述函数名功能描述

issparse 判断元素是否为稀疏矩阵 nzmax 允许的非零元素空间

mmz 稀疏矩阵的非零元素个数 spalloc 为非零元素定位存储空间

nonzeros 稀疏矩阵的非零元素 spfun 为非零元素定义处理函数

附录12.4稀疏矩阵可视化

函数名功能描述函数名功能描述

gplot 绘制图论图形 spy 绘制稀疏矩阵结构

附录12.5排序算法

函数名功能描述函数名功能描述

colmmd 列最小度排序 randperm 产生随机置换向量

colperm 由非零元素的个数排序各列 symmd 对称最小度排序dmperm Dulmage-Mendelsohn分解 symrcm 反向Cuthill-McKee排序

附录12.6范数、条件数

函数名功能描述函数名功能描述

condest 估算||*||1范数 normest 估算||*||2范数

sprank 计算结构秩

附录12.7特征值与奇异值

函数名功能描述函数名功能描述

eigs 求稀疏矩阵特征值和特征向量 svds 稀疏矩阵奇异值分解

附录12.8其他

函数名功能描述函数名功能描述

spaugment 最小二乘算法形成 symbact 符号因子分解

spparms 设置稀疏矩阵参数

附录13 图形绘制

附录13.1基本二维图形

函数名功能描述函数名功能描述

fill 填充二维多边形 polar 极坐标图形绘制

loglog 全对数二维坐标绘制 semilogx x轴半对数坐标图形绘制

plot 线性坐标图形绘制 semilogy y轴半对数坐标图形绘制

附录13.2基本三维图形

函数名功能描述函数名功能描述

fill3 三维多边形填充 plot3 三维线或点型图绘制

mesh 三维网格图形绘制 surf 三维表面图形绘制

附录13.3三维颜色控制

函数名功能描述函数名功能描述

brighten 图形亮度调整 hidden 网格图的网格线开关设置

caxis 坐标轴伪彩色设置 shading 设置渲染模式

colormap 调色板设置

附录13.4三维光照模型

函数名功能描述函数名功能描述

diffuse 图象漫射处理 surf1 带光照的三维表面绘制

lighting 光照模式设置 surfnorm 曲面法线

specular 设置镜面反射

附录13.5标准调色板设置

函数名功能描述函数名功能描述

bone 带有蓝色调的灰色的调色板 hot 以黑红黄白为基色的调色板cool 以天蓝粉色为基色的调色板 hsv 色度饱和度亮度调色板copper 线性铜色调的调色板 pink 粉色色调的调色板

flag 以红白蓝黑为基色的调色板 prism 光谱颜色表

gray 线性灰度调色板

附录13.6三维视点控制

函数名功能描述函数名功能描述

rotate3d 设置三维旋转开关 viewmtx 求视转换矩阵

view 设置视点

附录13.7坐标轴控制

函数名功能描述函数名功能描述

axis 坐标轴标度设置 hold 设置当前图形保护模式

axes 坐标轴位置设置 subplot 将图形窗口分成几个区域

box 坐标轴盒状显示 zoom 二维图形缩放

grid 坐标网格线开关设置

附录13.8图形注解

函数名功能描述函数名功能描述

colorbar 颜色条设置 xlabel 给图形的x轴加文字说明

gtext 在鼠标位置加文字说明 ylabel 给图形的y轴加文字说明text 在图形上加文字说明 zlabel 给图形的z轴加文字说明

title 给图形加标题

附录13.9拷贝与打印

函数名功能描述函数名功能描述

print 打印图形或将图形存盘 orient 设置纸的方向

orintopt 设置打印机为默认值

附录14 特殊图形

附录14.1特殊二维图形

函数名功能描述函数名功能描述

area 区域填充 feather 羽状条形图绘制

bar 条形图绘制 fplot 给定函数绘制

barh 水平条形图绘制 hist 直方图绘制

bar3 3维条形图绘制 pareto pareto图绘制

bar3h 3维水平条形图绘制 pie 饼状图绘制

comet 彗星状轨迹绘制 stem 离散序列图形绘制

errorbar 误差条形图绘制 stairs 梯形图绘制

附录14.2等高线及其他二维图形

函数名功能描述函数名功能描述

contour 等高线绘制 pcolor 伪色绘制

contourf 等高线填充绘制 quiver 有向图(箭头)绘制contour3 三维等高线绘制 voronoil voronoi图绘制

clabel 等高线高程标志

附录14.3特殊三维图形

函数名功能描述函数名功能描述

comet3 三维彗星状轨迹绘制 slice 切片图

meshc 带等高线的三维网格绘制 surfc 带等高线的三维表面绘制meshz 带零平面的三维网格绘制 trisurf 表面图形的三角绘制stem2 杆图绘制 trimesh 网格图形的三角绘制

quiver3 三维箭头(有向图)绘制 waterfall 瀑布型图形的绘制

附录14.4图象显示与文件I/O

函数名功能描述函数名功能描述

brighten 图形色调亮化 image 图像显示

colorbar 颜色条设置 imfinfo 图形文件信息

colormap 调色板设置 imread 从文件读取图形

contrast 灰度对比度设置 imwrite 保存图像

附录14.5动画处理

函数名功能描述函数名功能描述

capture 屏幕抓取 movie 播放动画帧

getframe 获取动画帧

附录14.6实体模型

函数名功能描述函数名功能描述

cylinder 圆柱体生成 sphere 球体生成

附录15 图形处理

附录15.1图形窗口生成与控制

函数名功能描述函数名功能描述

clf 清除当前图形窗口 gcf 获取当前图形的窗口句柄

close 关闭图形窗口 refresh 图形窗口刷新

figure 生成图形窗口 shg 显示图形窗口

附录15.2坐标轴建立与控制

函数名功能描述函数名功能描述

axes 坐标轴标度设置 gca 获得当前坐标轴句柄

axis 坐标轴位置设置 hold 设置当前图形保护模式

box 坐标轴盒状显示 ishold 返回hold的状态

caxis 为彩色坐标轴刻度 subplot 将图形窗口分为几个区域

cla 清除当前坐标轴

附录15.3处理图形对象

函数名功能描述函数名功能描述

axes 坐标轴生成 surface 表面生成

figure 图形窗口生成 text 文本生成

image 图像生成 unicontrol 生成一个用户接口控制

light 光源生成 uimenu 菜单生成

line 线生成

附录15.4图形

函数名功能描述函数名功能描述

copyobj 图像对象拷贝 gcbo 获得当前回调对象的句柄

delete 对象删除 gco 获得当前对象的句柄

drawnow 消除未解决的图像对象事件 get 获得对象属性

findobj 查找对象 reset 重新设置对象属性

gebf 获得当前回调窗口的句柄 set 设置对象属性

附录16 GUI(图形用户接口)

附录16.1GUI函数

函数名功能描述函数名功能描述

ginput 获取鼠标输入 uiresume 继续执行

selectmoveresize 对象的选择、移动、大小设置、拷贝 uiwait 中断执行uicontrol 生成图形用户接口对象 waitgorbutterpress 等待按钮输入uimenu 生成菜单对象 waitfor 中断执行

附录16.2GUI设计工具

函数名功能描述函数名功能描述

align 坐标轴与用户接口控制的对齐工具 menuedit 菜单编辑器

cbedit 回调函数编辑器 propedit 属性编辑器

guide GUI设计工具

附录16.3对话框

函数名功能描述函数名功能描述

dialog 对话框生成 printdlg 打印对话框

axlimdig 坐标轴设限对话框 questdlg 请求对话框

errordlg 错误对话框 uigetfile 标准的打开文件对话框

helpdlg 帮助对话框 uiputfile 标准的保存文件对话框

inputdlg 输入对话框 uisetcolor 颜色选择对话框

listdlg 列表选择对话框 uisetfont 字体选择对话框

msgdlg 消息对话框 waitbar 等待条显示

pagedlg 页位置对话框 warndlg 警告对话框

附录16.4菜单

函数名功能描述函数名功能描述

makemenu 生成菜单结构 umtoggle 菜单对象选中状态切换menubar 设置菜单条属性 wimenu 生成window菜单项的子菜单

附录16.5组按钮

函数名功能描述函数名功能描述

btndown 组按钮中的按钮按下 btnstate 查询按钮中的按钮状态btngroup 组按钮生成 btnup 组按钮中的按钮弹起

btnpress 组按钮中的按钮按下管理

附录16.6自定义窗口属性

函数名功能描述函数名功能描述

clruprop 清除用户自定义属性 setuprop 设置用户自定义属性getuprop 获取用户自定义属性

附录16.7其他应用

函数名功能描述函数名功能描述

allchild 获取所有子对象 popupstr 获取弹出式菜单选中项的字符串edtext 坐标轴文本对象编辑 remapfig 改变窗口中对象的位置findall 查找所有对象 setptr 设置窗口指针

getptr 获得窗口指针 setstatus 设置窗口中文本传状态getstatus 获取窗口中文本状态

附录17 声音处理

函数名功能描述函数名功能描述

soond 将向量转换成声音 wavread 读。wav文件

auread 读。au文件 wavwrite 写。wav文件

auwrite 写。au文件

附录18 字符串处理函数

附录18.1字符串处理

函数名功能描述函数名功能描述

strings Matlab字符串函数说明 upper 字符串大写

isstr 字符串判断 lower 字符串小写

deblank 删除结尾空格 isletter 字母判断

str2mat 字符串转换成文本 isspace 空子符判断

strcmp 字符串比较 strrep 字串查找

findstr 字串查找 strtok 标记查找

附录18.2字符串与数值转换

函数名功能描述函数名功能描述

num2str 变数值为字符串 sprintf 数值的格式输出

str2num 变字符串为数值 sscanf 数值的格式输入

int2str 变整数为字符串

附录18.3进制转换

函数名功能描述函数名功能描述

hex2num 十六进制到IEEE标准下浮点数的轮换 hex2dec 十六进制到十进制的轮换dec2hex 十进制到十六进制的轮换

附录19 文件输入输出函数

附录19.1基本文件输入输出

函数名功能描述函数名功能描述

fclose 关闭文件 feof 文件结尾检测

fopen 打开文件 ferror 文件I/O错误查询

fread 读二进制流文件 frewind 文件指针回绕

fwrite 写二进制流文件 fseek 设置文件指针位置

fgetl 读文本文件(无行结束符) ftell 获得文件指针位置

fgets 读文本文件(含行结束符) sprintf 格式化数据转换为字符串

fprintf 写格式化数据到文件 sscanf 依数据格式化读取字符串

fscanf 从文件读格式化数据

附录19.2特殊文件输入输出

函数名功能描述函数名功能描述

imfinfo 获得图形文件信息 wklread 读一Lotus123WK1数据表

imread 图像的文件读取 wklwrite 将一矩阵写入Lotus123WK1数据表文件

imwrite 图像的文件保存 xlgetrange 读Excel表格文件的数据

qrwrite 保存一段QuickTime电影文件 xlsetrange 写Excel文件

附录20 位操作

函数名功能描述函数名功能描述

bitand 位求与 bitor 位求或

bitcmp 位求补 bitset 位设置

bitget 位获取 bitshift 位移动

bitmax 求最大无符号浮点整数 bitxor 位异或

附录21 复杂数据类型

附录21.1数据类型

函数名功能描述函数名功能描述

cell 生成单元数组 sparse 生成稀疏数组

char 生成字符串 struct 生成结构

double 转换成双精度型 uint8 转换成无字符号单字节整数

inline 生成INLINE对象

附录21.2结构操作

函数名功能描述函数名功能描述

fieldnames 获得结构的子段名 rnfield 删除结构子段

getfield 获得结构的子段值 setfield 设置结构的子段值

isfield 如果子段属于结构则返回真 struct 生成结构数组

isstruct 如果是结构则返回真 struct2cell 结构到单元数组的转换

附录21.3多维数组操作

函数名功能描述函数名功能描述

cat 数组连接 permute 任意改变矩阵维数序列

ipermute 任意改变矩阵维数序列 shiftdim 矩阵维数序列的左移变换ndims 求矩阵维数 squeeze 去除多维数组中的一维向量

ndgrid N维数组生成

附录21.4单元数组操作

函数名功能描述函数名功能描述

cell 单元数组生成 iscell 如果是单元数组则返回真

celldisp 显示单元数组内容 num2cell 将数值数组转换为单元数组cellplot 单元数组内容的图形显示 struct2cell 将结构数组转换为单元数组cell2struct 单元数组转换成结构数组

附录21.5面向对象函数

函数名功能描述函数名功能描述

class 生成一个对象 methods 显示所有方法名

isa 如果是某一给定类对象则返回真 struct 将对象转换为结构数组isobject 如果是一个对象则返回真 superiorto 建立类间的关系检里inferiorto 建立类间的关系检里

附录22 日期与时间

函数名功能描述函数名功能描述

now 以数字形式给出当前日期和时间 weekday 星期函数

date 以字符转形式给出当前日期 eomday 月末日判断函数

clock 以向量形式给出当前日期和时间 cputime 所用CPU的时间datenum 日期的数字形式转换 tic 启动秒表计时器

datestr 日期的字符串形式转换 toc 读取秒表计时器

datevec 日期的向量形式转换 etime 使用时间函数

calendar 日历函数 pause 暂停函数

附录23 动态数据交换

函数名功能描述函数名功能描述

ddeadv 设置DDE连接 dderep 接收数据

ddeexec 发送要执行的串 ddeterm DDE终止

ddeinit DDE初始化 ddeunadv 释放DDE连接

ddepoke 发送数据

matlab上机作业

第四次 上机作业 1、 从键盘输入一个4位整数,按照如下规则加密后输出。加密规则:每位数字 都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。 Clear X=ones(1,4); X (1)=input(’输入第一位:‘); X (2)=input(’输入第二位:‘); X (3)=input(’输入第三位:‘); X (4)=input(’输入第四位:‘); X=rem(7+x,10); Y=1000.*x(3)+100.*x(4)+10.*x(1)+x(2) 2、 分别用if 和switch 语句实现以下计算,其中a 、b 、c 的值从键盘输入。 ??? ? ??? <≤+<≤+<≤++=5 .55.3, ln 5.35.1, sin 5.15.0,2x x c b x x b a x c bx ax y c a=input(‘请输入a :’); b=input(‘请输入b :’); c=input(‘请输入c :’); If(x>=0.5&&x<=1.5) y=a.*x^2+b.*x+c Elseif(x>=1.5&&x<=3.5) y=a.*(sin(b))^c+x

Elseif(x>=3.5&&x<=5.5) y=log(abs(b+c./x)) end a=input(‘请输入a:’); b=input(‘请输入b:’); c=input(‘请输入c:’); Switch x case(x>=0.5&&x<=1.5) y=a.*x^2+b.*x+c case(x>=1.5&&x<=3.5) y=a.*(sin(b))^c+x case(x>=3.5&&x<=5.5) y=log(abs(b+c./x)) end 3、产生20个两位随机整数,输出其中小于平均值的偶数。Clear al ;close all ;clc; X=fix(rand(1,20)*89)+10; Disp([‘20个随机数是:’,num2str(x)]); X1=mean(x); Disp([‘平均值为:’,num2str(x1)]); N=find(rem(x,2)==0&x

matlab代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录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积 . 向量转置 \ 矩阵左除 = 赋值运算 / 矩阵右除 == 关系运算之相等 .\ 向量左除 ~= 关系运算之不等 ./ 向量右除 < 关系运算之小于

matlab程序大全答案

频率特性类题目 1 一个系统的开环传递函数为 ,试绘制其当K=5、30时系统的开环频率特性Nyquist 图,并判断系统的稳定性。 w=linspace(0.5,5,1000)*pi; sys1=zpk([],[0 -10 -2],100) sys2=zpk([],[0 -10 -2],600) figure(1) nyquist(sys1,w) title('system nyquist charts with k=5') figure(2) nyquist(sys2,w) title('system nyquist charts with k=30') 由图可知K=5时,开环Nyquist 曲线没有包围(-1,j0)点,所以系统稳定。 K=30时,开环Nyquist 曲线包围(-1,j0)点,所以系统不稳定。 2系统开环传递函数为 ,建立其零极点增益模型, 然后分别绘制当K=5、K=30时系统的开环频率特性Bode 图,并判断系统的稳定性。 sys1=zpk([],[0 -10 -2],100) sys2=zpk([],[0 -10 -2],600) figure(1) [Gm1,Pm1,Wcg1,Wcp1]=margin(sys1) bode(sys1) title('system bode charts with k=5'),grid figure(2) [Gm2,Pm2,Wcg2,Wcp2]=margin(sys2) bode(sys2) title('system bode charts with k=30'),grid 因为K=5时,Wcg>Wcp,所以系统稳定。 K=10时,Wcg

matlab相关图形实现代码

根据数据点绘制饼图和针状图: x=[1 2 3 4 5 6]; >> subplot(2,2,1);pie(x); >> subplot(2,2,2);pie3(x); >> subplot(2,2,3);stem(x); >>subplot(2,2,4);stem3(x); 5% 10% 14% 19% 24% 29% 24% 29% 19% 5%14% 10%0 2 4 6 2 4 6 5 10 01 2 05 10

根据数据点绘制向量场图、羽状图和罗盘图: x=[1 2 3 4 5 6];y=[1 2 3 4 5 6]; u=[1 2 3 4 5 6];v=[1 2 3 4 5 6]; subplot(2,2,1);quiver(x,y,u,v); subplot(2,2,2);quiver(x,y,u,v,'r'); subplot(2,2,3);feather(u,v); subplot(2,2,4);compass(u,v); 024680 246 802468 246 80 5 10 15 2 4 6 5 10 30 210 60240 90270 120 300 150330 180

rand(m,n)产生m ×n 均匀分布的随机矩阵,元素取值在0.0~1.0。 randn 函数:产生标准正态分布的随机数或矩阵的函数。 Y = randn(m,n) 或 Y = randn([m n])返回一个m*n 的随机项矩阵。 > theta=10*rand(1,50); %确定50个随机数theta >> Z=peaks; %确定Z 为峰值函数peaks >> x=0:0.01:2*pi;y=sin(x); %确定正弦函数数据点x.y >> t=randn(1000,1); %确定1000个随机数t >> subplot(2,2,1);rose(theta); %关于(theta )的玫瑰花图 >> subplot(2,2,2);area(x,y); %关于(x,y)的面积图 >> subplot(2,2,3);contour(Z); %关于Z 的等值线图(未填充) >> subplot(2,2,4);hist(t); %关于t 的柱状图 5 10 30 210 60 240 90270 120300150330 18000246 -1 -0.500.5 110 20 30 40 10 2030 40-4 -2 2 4 100 200 300

matlab代码大全教学文案

m a t l a b代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录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 运算符号与特殊字符附录

MATLAB简单程序大全

MATLAB简单程序大全 求特征值特征向量 A=[2 3 4;1 5 9;8 5 2] det(A) A' rank(A) inv(A) rref(A) eig(A)%求特征值和特征向量 卫星运行问题 h=200,H=51000,R=6378; a=(h+H+2*R)/2; c=(H-h)/2; b=(a^2-c^2)^(1/2); e=c/a; f=sqrt(1-exp(2).*cos(t)^2); l=int(f,t,0,pi/2) L=4*a.*l 动态玫瑰线 n=3;N=10000; theta=2*pi*(0:N)/N; r=cos(n*theta); x=r.*cos(theta); y=r.*sin(theta); comet(x,y) 二重积分 syms x y f=x^2*sin(y); int(int(f,x,0,1),y,0,pi) ezmesh(f,[0,1,0,pi]) 函数画图 syms x;f=exp(-0.2*x)*sin(0.5*x); ezplot(f,[0,8*pi])

玫瑰线 theta=0:0.01:2*pi; r=cos(3*theta); polar(theta,r,'r') 求x^2+y^2=1和x^2+z^2=1所围成的体积 syms x y z R r=1; Z=sqrt(1-x^2); y0=Z; V=8*int(int(Z,y,0,y0),x,0,1) 求导数及图像 f='1/(5+4*cos(x))'; subplot(1,2,1);ezplot(f) f1=diff(f) subplot(1,2,2);ezplot(f1) 绕x轴旋转 t=(0:20)*pi/10; r=exp(-.2*t).*sin(.5*t); theta=t; x=t'*ones(size(t)); y=r'*cos(theta); z=r'*sin(theta); mesh(x,y,z) colormap([0 0 0]) 某年是否闰年 year=input('input year:='); n1=year/4; n2=year/100; n3=year/400; if n1==fix(n1)&n2~=fix(n2) disp('是闰年') elseif n1==fix(n1)&n3==fix(n3) disp('是闰年') else

遗传算法经典MATLAB代码

遗传算法实例: 也是自己找来的,原代码有少许错误,本人都已更正了,调试运行都通过了的。 对于初学者,尤其是还没有编程经验的非常有用的一个文件 遗传算法实例 % 下面举例说明遗传算法% % 求下列函数的最大值% % f(x)=10*sin(5x)+7*cos(4x) x∈[0,10]% % 将x 的值用一个10位的二值形式表示为二值问题,一个10位的二值数提供的分辨率是每为(10-0)/(2^10-1)≈。% % 将变量域[0,10] 离散化为二值域[0,1023], x=0+10*b/1023, 其 中 b 是[0,1023] 中的一个二值数。% % % %--------------------------------------------------------------------------------------------------------------% %--------------------------------------------------------------------------------------------------------------% % 编程

%----------------------------------------------- % 初始化(编码) % 函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength 表示染色体的长度(二值数的长度), % 长度大小取决于变量的二进制编码的长度(在本例中取10位)。 %遗传算法子程序 %Name: %初始化 function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); % rand随机产生每个单元 为{0,1} 行数为popsize,列数为chromlength的矩阵, % roud对矩阵的每个单元进行圆整。这样产生的初始种群。 % 计算目标函数值 % 将二进制数转化为十进制数(1) %遗传算法子程序 %Name: %产生[2^n 2^(n-1) ... 1] 的行向量,然后求和,将二进制转化为十进制

MATLAB实验:运算基础,并且附有答案

实验二、MATLAB运算基础 一、实验目的 掌握MATLAB各种表达式的书写规则及常用函数的使用。 掌握MATLAB中字符串、元胞数组和结构的常用函数的使用。 二、实验内容及步骤 1、设有矩阵A和B,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25],B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11] 1)求它们的乘积C >>C=A*B 2)将矩阵C的右下角3x2子矩阵赋给 D >>I=[3 4 5];J=[2 3];D=C(I,J)也可以 用>>D=C([3 4 5],[2 3]) D = 520 397 705 557 890 717 2、完成下列操作 1)求[100,999]之间能被61整除的数及其个数(提示:先利用冒号表达式,再利用find和length函数。) >> a=100:999;find(rem(a,61)==0) ans = 23 84 145 206 267 328 389 450 511

572 633 694 755 816 877 >> b=a(ans) b = 122 183 244 305 366 427 488 549 610 671 732 793 854 915 976 >> length(b) ans = 15 2)建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空矩阵。)a=’I am maying’; a( find(a>’A’&a<’Z’))=[] 3、已知A=[23 10 -78 0;41 -45 65 5;32 5 0 32; 6 -54 92 14],取出其前3行构成矩阵B,其前两列构成 矩阵C,其左下角3x2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E>B=A([1 2 3 ],:)>> C=A(:,[1 2])>> D=A([2 3 4 ],[1 2 ])>> E=B*C >> E

matlab的编码大全

附录Matlab源程序 附录A 信息熵 % 函数说明:% % H=entropy(P,r) 为信息熵函数% % P为信源的概率矢量, r为进制数% % H为信息熵% %****************************** % function H=entropy(P,r) if (length(find(P<=0))~=0) error('Not a prob.vector,negative component'); % 判断是否符合概率分布条件end if (abs(sum(P)-1)>10e-10) error('Not a prob.vector,component do not add up to 1'); end H=(sum(-P.*log2(P)))/(log2(r)+eps); 附录B 离散无记忆信道容量的迭代计算 % 信道容量C的迭代算法% % 函数说明:% % [CC,Paa]=ChannelCap(P,k) 为信道容量函数% % 变量说明:% % P:输入的正向转移概率矩阵,k:迭代计算精度% % CC:最佳信道容量,Paa:最佳输入概率矩阵% % Pa:初始输入概率矩阵,Pba:正向转移概率矩阵% % Pb:输出概率矩阵,Pab:反向转移概率矩阵% % C:初始信道容量,r:输入符号数,s:输出符号数% %************************************************** % function [CC,Paa]=ChannelCap(P,k) % 提示错误信息 if (length(find(P<0)) ~=0) error('Not a prob.vector,negative component'); % 判断是否符合概率分布条件end

matlab快捷键大全

1.使用“Tab”键可以在Matlab进行命令输入时补全变量名或者命令名; 2.使用“Ctrl+C”组合键能够强制从运行的或者进入死循环的Matlab程序中退出; 3.使用“上”“下”方向键能够调用Matlab的历史命令; 4.Matlab的变量命名规则注意: a.区分大小写; b.必须以字母开头; c.中间不能有空格、标点符号等; 5.在一条命令或语句的末尾加上一个分号,则Matlab就不会在屏幕上显示这条命令计算的结果; 6.在Matlab中,“...”(3个句点)称为“续行符”,表示同一语句的延续输入; 注意:只有当续行符出现在变量名和运算符之间,才能起到语句延续的作用。出现在一个变量名中间时,是不能实现语句延续的。换句话说,变量名不能分割成两行书写。 7.在进行三角函数运算时,Matlab使用的是“弧度制”而不是“角度制”; 8.选择需要注释的语句块以后,使用“Ctrl+R”可以进行Matlab语句注释;使用“Ctrl+T”可以进行语句块的解注释; 9.Matlab数组的下标是从“1”开始的,这点与C语言不同; 1 0.使用空格和逗号隔开的元素指定的是同一行的元素,使用分号或者回车分开的元素指定的是不同行的元素。 Q1:matlab有没有监视内存的方法? A:用函数whos。 Q2:如何解决matlab7.0命令窗口跳出一大堆java错误...

A:换matlab7的sp2。 Q3:自从安装matlab,一开机就在进程里有matlab。 能不能开机的时候进程就不运行matlab? A:开始-->控制面板-->管理工具-->服务 把MATLAB Server的属性改成“手动”就行了。 Q4:退出matlab7程序运行的快捷键。 A:ctrl+q Q5:matlab7远程控制是否有限制? A:不能远程控制,不过你可以先在你的remote机器上打开,然后就可以用了。 Q6:Matlab占用资源太多怎么办? A:用matlab-nojvm启动(如果不需要图形界面)。 Q7:怎样给matlab添加新的toolbox? A:在matlab的文件菜单里边添加路径,选set path。 Q8:请问matlab有没有命令可以调出历史输入啊? A:command history窗口。 Q9:matlab7.0不能在64位的cpu下运行? A:matlab应该是依赖于自己的虚拟机的 但是好像这个虚拟机是在IA32里面作出来的,所以,应该找个带64位的java虚拟机替换原来的,不过不一定能行or so,记不清了) Q10:matlab有没有注释一段的功能? A:选中一段代码,ctrl r就是区段注释 选中一段代码,ctrl t取消区段注释

遗传算法经典MATLAB代码资料讲解

遗传算法经典学习Matlab代码 遗传算法实例: 也是自己找来的,原代码有少许错误,本人都已更正了,调试运行都通过了的。 对于初学者,尤其是还没有编程经验的非常有用的一个文件 遗传算法实例 % 下面举例说明遗传算法% % 求下列函数的最大值% % f(x)=10*sin(5x)+7*cos(4x) x∈[0,10]% % 将x 的值用一个10位的二值形式表示为二值问题,一个10位的二值数提供的分辨率是每为(10-0)/(2^10-1)≈0.01。% % 将变量域[0,10] 离散化为二值域[0,1023], x=0+10*b/1023, 其 中 b 是[0,1023] 中的一个二值数。% % % %--------------------------------------------------------------------------------------------------------------% %--------------------------------------------------------------------------------------------------------------% % 编程 %----------------------------------------------- % 2.1初始化(编码) % initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度),

% 长度大小取决于变量的二进制编码的长度(在本例中取10位)。 %遗传算法子程序 %Name: initpop.m %初始化 function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); % rand随机产生每个单元 为{0,1} 行数为popsize,列数为chromlength的矩阵, % roud对矩阵的每个单元进行圆整。这样产生的初始种群。 % 2.2 计算目标函数值 % 2.2.1 将二进制数转化为十进制数(1) %遗传算法子程序 %Name: decodebinary.m %产生[2^n 2^(n-1) ... 1] 的行向量,然后求和,将二进制转化为十进制 function pop2=decodebinary(pop) [px,py]=size(pop); %求pop行和列数 for i=1:py pop1(:,i)=2.^(py-i).*pop(:,i); end pop2=sum(pop1,2); %求pop1的每行之和 % 2.2.2 将二进制编码转化为十进制数(2) % decodechrom.m函数的功能是将染色体(或二进制编码)转换为十进制,参数spoint表示待解码的二进制串的起始位置

matlab 指令大全

分享 我的分享 当前分享 返回分享首页? 分享 matlab命令,应该很全了!来源:李家叶的日志 matlab命令 一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。!dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键Ctrl+P 返回前一行输入 方向下键Ctrl+N 返回下一行输入 方向左键Ctrl+B 光标向后移一个字符 方向右键Ctrl+F 光标向前移一个字符 Ctrl+方向右键Ctrl+R 光标向右移一个字符 Ctrl+方向左键Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾 Esc Ctrl+U 清除一行 Del Ctrl+D 清除光标所在的字符 Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符: +:加,-:减,*:乘,/:除,\:左除^:幂,‘:复数的共轭转置,():制定运算顺序。 2、常用函数表: sin( ) 正弦(变量为弧度) Cot( ) 余切(变量为弧度) sind( ) 正弦(变量为度数) Cotd( ) 余切(变量为度数) asin( ) 反正弦(返回弧度) acot( ) 反余切(返回弧度) Asind( ) 反正弦(返回度数) acotd( ) 反余切(返回度数) cos( ) 余弦(变量为弧度) exp( ) 指数 cosd( ) 余弦(变量为度数)

matlab信道仿真经典源程序

% % % Rayleigh Fading Channel Signal Generator % Using the Dent Model (a modification to the Jakes Model) % % Last Modified 10/18/05 % % Author: Avetis Ioannisyan (avetis@https://www.doczj.com/doc/067092645.html,) % % % Usage: % [omega_mTau, Tk] = % ai_RayCh(NumAngles, Length, SymbolRate, NumWaveforms, CarrierFreq, Velocity) % % Where the output omega_mTau is a time scaling factor for plotting % normalized correlations. The LAGS value output by [C,LAGS] = XCORR(...) % should be multiplied by the omega_mTau scaling factor to properly display % axis. Tk is a two dimensional vector [M, N] = SIZE(Tk) with % M=numWaverorms and N=Length specified in the RayCh(...) function call % % And the input variables are: % % NumAngles - scalar power of 2, NumAngles > 2^7 is used to specify the % number of equally strong rays arriving at the receiver. It used to % compute the number of oscillators in the Dent model with N0 = numAngles/4 % % Length - scalar preferably power of 2 for faster computation, Length > 2^17 % is used to specify the length of the generated sequence. Lengths near 1E6 % are close to realistic signals % % SymbolRate - scalar power of 2 and is in kilo-symbols-per-sec is used to % specify what should be the transmission data rate. Slower rates will % provide slowly fading channels. Normal voice and soem data rates are % 64-256 ksps % % NumWaveforms - scalar used to specify how many 'k' waveforms to generate % in the model. NumWaveforms > 2 to properly display plots % % CarrierFreq - scalar expressed in MHz is the carrier frequency of the % tranmitter. Normally 800 or 1900 MHz for mobile comms % % Velocity - scalar expressed in km/hr is the speed of the receiver. % 100 km/hr = 65 mi/hr. Normal values are 20-130 km/hr %

一种基于Matlab的DSP调试及直接代码生成方法

https://www.doczj.com/doc/067092645.html,/p-21683359.html 一种基于Matlab的DSP调试及直接代码生成方法 Matlab作为一种有效的信号处理工具,已经渗透到DSP的设计当中。开发者在将一个新的数字信号处理算法应用于实际前,一般是先用Matlab进行模拟验证,当模拟结果满意时再把算法修改成C或DSP汇编语言通过CCS在目标DSP上实现,并比较实际应用与模拟的结果以发现误差,如此反复进行。在较新版本的Matlab(6.0以上)中提供了Matlab与DSP的统一集成环境后,众多学者对Matlab环境下的DSP调试进行了研究。文献[2-4]从CCSLink的角度出发,对Matlab环境下的DSP调试进行了原理及思路上的阐述,但均未涉及到直接代码生成。本文在介绍CCSLink的连接对象、嵌入式对象和RTDX对象的基础上,详细阐述Simulink环境下的直接代码生成。 1 CCSLink及ETTIC2000概述 Matlab具有强大的分析、计算和可视化功能,但处理速度慢;DSP具有快速的信号处理能力,但是其CCS的编译环境中数据可编辑和分析能力不如Matlab;而MathWorks公司和TI公司联合开发的Matlab Linkfor CCS Development Tools(CCSLink)和EmbeddedTarget for the TI TMS320C2000 DSP Platform(ETTIC2000),CCSLink提供了Matlab和CCS的接口,能把Matlab和TI CCS及目标DSP连接起来。利用此工具可以像操作Matlab变量一样来操作TI DSP的存储器或寄存器。CCSLink支持CCS能够识别的任何目标板(C200,C5000,C600),此工具用于DSP程序的调试过程。而CCSLink与ETTIC2000的配合使用,可直接由Matlab的Simulink模型生成TIC2000DSP 的可执行代码,能在集成、统一的Matlab环境下完成DSP的整个开发过程。 2 CCSLink环境下的DSP调试 CCSLink向用户提供了3个组件内容,如图1所示。

实验一 典型环节的MATLAB仿真汇总

实验一 典型环节的MATLAB 仿真 一、实验目的 1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、SIMULINK 的使用 MATLAB 中SIMULINK 是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK 功能模块可以快速的建立控制系统的模型,进行仿真和调试。 1.运行MATLAB 软件,在命令窗口栏“>>”提示符下键入simulink 命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK 仿真 环境下。 2.选择File 菜单下New 下的Model 命令,新建一个simulink 仿真环境常规模板。 3.在simulink 仿真环境下,创建所需要的系统 三、实验内容 按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。 ① 比例环节1)(1=s G 和2)(1=s G 实验处理:1)(1=s G SIMULINK 仿真模型

波形图为: 实验处理:2)(1=s G SIMULINK 仿真模型 波形图为: 实验结果分析:增加比例函数环节以后,系统的输出型号将输入信号成倍数放大. ② 惯性环节11)(1+= s s G 和15.01)(2+=s s G 实验处理:1 1 )(1+=s s G SIMULINK 仿真模型

波形图为: 实验处理:1 5.01 )(2+= s s G SIMULINK 仿真模型 波形图为: 实验结果分析:当1 1 )(1+= s s G 时,系统达到稳定需要时间接近5s,当

MATLAB相关函数

第6章MATLAB数据分析与多项式计算 6.1 数据统计处理 6.1.1 最大值和最小值 MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min,两个函数的调用格式和操作过程类似。 1.求向量的最大值和最小值 求一个向量X的最大值的函数有两种调用格式,分别是: (1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。 (2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。 求向量X的最小值的函数是min(X),用法和max(X)完全相同。 例6-1 求向量x的最大值。 命令如下: x=[-43,72,9,16,23,47]; y=max(x) %求向量x中的最大值 [y,l]=max(x) %求向量x中的最大值及其该元素的位置 2.求矩阵的最大值和最小值 求矩阵A的最大值的函数有3种调用格式,分别是: (1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。

(2) [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。 (3) max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A 矩阵的第i行上的最大值。 求最小值的函数是min,其用法和max完全相同。 例6-2 分别求3×4矩阵x中各列和各行元素中的最大值,并求整个矩阵的最大值和最小值。 3.两个向量或矩阵对应元素的比较 函数max和min还能对两个同型的向量或矩阵进行比较,调用格式为: (1) U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。(2) U=max(A,n):n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。 min函数的用法和max完全相同。 例6-3 求两个2×3矩阵x, y所有同一位置上的较大元素构成的新矩阵p。 6.1.2 求和与求积

数字图像处理代码大全

1.图像反转 MATLAB程序实现如下: I=imread('xian.bmp'); J=double(I); J=-J+(256-1); %图像反转线性变换 H=uint8(J); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(H); 2.灰度线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); subplot(2,2,1),imshow(I); title('原始图像'); axis([50,250,50,200]); axis on; %显示坐标系 I1=rgb2gray(I); subplot(2,2,2),imshow(I1); title('灰度图像'); axis([50,250,50,200]); axis on; %显示坐标系 J=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]的灰度拉伸为[0 1]

subplot(2,2,3),imshow(J); title('线性变换图像[0.1 0.5]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 K=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]的灰度拉伸为[0 1] subplot(2,2,4),imshow(K); title('线性变换图像[0.3 0.7]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 3.非线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); I1=rgb2gray(I); subplot(1,2,1),imshow(I1); title('灰度图像'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 J=double(I1);

(完整版)MATLAB典型去雾算法代码..

本节主要介绍基于Retinex理论的雾霭天气图像增强及其实现。 1.3.1 Rentinex理论 Retinex(视网膜“Retina”和大脑皮层“Cortex”的缩写)理论是一种建立在科学实验和科学分析基础上的基于人类视觉系统(Human Visual System)的图像增强理论。该算法的基本原理模型最早是由Edwin Land(埃德温?兰德)于1971年提出的一种被称为的色彩的理论,并在颜色恒常性的基础上提出的一种图像增强方法。Retinex 理论的基本内容是物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的;物体的色彩不受光照非均性的影响,具有一致性,即Retinex理论是以色感一致性(颜色恒常性)为基础的。 根据Edwin Land提出的理论,一幅给定的图像S(x,y)分解成两幅不同的图像:反射物体图像R(x,y)和入射光图像L(x,y),其原理示意图如图8.3-1所示。 图1.3-1 Retinex理论示意图 对于观察图像S中的每个点(x,y),用公式可以表示为: S(x,y)=R(x,y)×L(x,y) (1.3.1)实际上,Retinex理论就是通过图像S来得到物体的反射性质R,也就是去除了入射光L的性质从而得到物体原本该有的样子。 1.3.2 基于Retinex理论的图像增强的基本步骤 步骤一: 利用取对数的方法将照射光分量和反射光分量分离,即: S'(x, y)=r(x, y)+l(x, y)=log(R(x, y))+log(L(x, y)); 步骤二:用高斯模板对原图像做卷积,即相当于对原图像做低通滤波,得到低通滤波后的图像D(x,y),F(x, y)表示高斯滤波函数: D(x, y)=S(x, y) *F(x, y); 步骤三:在对数域中,用原图像减去低通滤波后的图像,得到高频增强的图像G (x, y): G(x,y)=S'(x, y)-log(D(x, y)) ; 步骤四:对G(x,y)取反对数,得到增强后的图像R(x, y):

一种基于Matlab的DSP调试及直接代码生成方法.

一种基于Matlab的DSP调试及直接代码生成方法 Matlab作为一种有效的信号处理工具,已经渗透到DSP的设计当中。开发者在将一个新的数字信号处理算法应用于实际前,一般是先用Matlab进行模拟验证,当模拟结果满意时再把算法修改成C或DSP汇编语言通过CCS在目标DSP 上实现,并比较实际应用与模拟的结果以发现误差,如此反复进行。在较新版本的Matlab(6.0以上)中提供了Matlab与DSP的统一集成环境后,众多学者对Matlab环境下的DSP调试进行了研究。文献[2-4]从CCSLink的角度出发,对Matl Matlab作为一种有效的信号处理工具,已经渗透到DSP的设计当中。开发者在将一个新的数字信号处理算法应用于实际前,一般是先用Matlab进行模拟验证,当模拟结果满意时再把算法修改成C或DSP汇编语言通过CCS在目标DSP 上实现,并比较实际应用与模拟的结果以发现误差,如此反复进行。在较新版本的Matlab(6.0以上)中提供了Matlab与DSP的统一集成环境后,众多学者对Matlab环境下的DSP调试进行了研究。文献[2-4]从CCSLink的角度出发,对Matlab环境下的DSP调试进行了原理及思路上的阐述,但均未涉及到直接代码生成。本文在介绍CCSLink的连接对象、嵌入式对象和RTDX对象的基础上,详细阐述Simulink环境下的直接代码生成。 1 CCSLink及ET TIC2000概述 Matlab具有强大的分析、计算和可视化功能,但处理速度慢;DSP具有快速的信号处理能力,但是其CCS的编译环境中数据可编辑和分析能力不如Matlab;而MathWorks公司和TI公司联合开发的Matlab Linkfor CCS Development Tools(CCSLink)和EmbeddedTarget for the TI TMS320C2000 DSP Platform(ETTIC2000),CCSLink提供了Matlab和CCS的接口,能把Matlab和TI CCS及目标DSP连接起来。利用此工具可以像操作Matlab变量一样来操作TI DSP的存储器或寄存器。CCSLink支持CCS能够识别的任何目标板(C200,C5000,C600),此工具用于DSP程序的调试过程。而CCSLink与ETTIC2000的配合使用,可直接由Matlab的Simulink模型生成TIC2000DSP的可执行代码,能在集成、统一的Matlab环境下完成DSP的整个开发过程。 2 CCSLink环境下的DSP调试 CCSLink向用户提供了3个组件内容,如图1所示。

相关主题
文本预览
相关文档 最新文档