??xml version="1.0" encoding="utf-8" standalone="yes"?> Matlab官方|站Q?a target="_blank">http://www.mathworks.com Matlab中国Q?a target="_blank">http://www.mathworks.cn/ MATLAB中文爱好者论坛:http://www.matlabfan.com/Q推荐) Matlab中文论坛Q?a target="_blank">http://www.ilovematlab.cn/ Matlab癑ֺ贴吧Q?a target="_blank">http://tieba.baidu.com/f?kw=matlab&fr=ala0 把下面代码文件保存ؓ“*.bat”格式文g 双击打开OK 当然盘名称p己定“ 代码里面盘名称” @ ECHO OFF
基本功能
MATLAB?a target="_blank">Mathematica?a target="_blank">Mapleq称Z大数学Y件。它在数学类U技应用软g中在数D?/a>斚w首屈一指。MATLAB可以q行矩阵q算、绘制函数和数据、实现算法、创建用L面、连
接其他编E语a的程序等Q主要应用于工程计算、控制设计、信号处理与通讯?a target="_blank">囑փ处理?a target="_blank">信号?/a>、金融徏模设计与分析{领域?
MATLAB的基本数据单位是矩阵Q它的指令表辑ּ与数学、工E中常用的Ş式十分相|故用
MATLAB来解问题要比用CQFORTRAN{语a完成相同的事情简捷得多,q且mathwork也吸收了像Maple{Y件的优点,使MATLAB
成ؓ一个强大的数学软g。在新的版本中也加入了对CQ?a target="_blank">FORTRANQ?a target="_blank">C++ Q?a target="_blank">JAVA的支持。可以直接调?用户也可以将自己~写的实用程序导入到MATLAB函数库中方便自己以后调用Q此外许多的MATLAB爱好者都~写了一些经典的E序Q用户可以直接进行下载就可以用?
应用
MATLAB 产品族可以用来进行以下各U工作:
?数值分?
?数值和W号计算
?工程与科学绘?
?控制pȝ的设计与仿真
?数字囑փ处理 技?
?数字信号处理 技?
?通讯pȝ设计与仿?
?财务与金融工E?
MATLAB 的应用范围非常广Q包括信号和囑փ处理、通讯、控制系l设计、测试和量、胦务徏模和分析以及计算生物学等众多应用领域。附加的工具(单独提供的专?MATLAB 函数集)扩展?MATLAB 环境Q以解决q些应用领域内特定类型的问题?
发展历程
20世纪70q代Q美国新墨西哥大学计机U学pM任Cleve
MolerZ减轻学生~程的负担,用FORTRAN~写了最早的MATLAB?984q由Little、Moler、Steve
Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90q代QMATLAB已成为国际控制界的标准计Y件?
版本更新:
特点
●此高语言可用于技术计?
●此开发环境可对代码、文件和数据q行理
●交互式工具可以按P代的方式探查、设计及求解问题
●数学函数可用于U性代?/a>、统计、傅立叶分析、筛选、优化以及数值积分等
●二l和三维囑Ş函数可用于可视化数据
●各U工具可用于构徏自定义的囑Ş用户界面
●各U函数可基于MATLAB的算法与外部应用E序和语aQ如 C、C++、Fortran、Java、COM 以及 Microsoft ExcelQ集?sup>[2]
●不支持大写输入Q内总仅支持小?
●自带仿真系l?
优势
Q?Q友好的工作q_和编E环?/h3>
MATLAB׃pd工具l成。这些工h便用户用MATLAB的函数和文gQ其中许多工具采用的是图形用L面。包括MATLAB桌面和命令窗口?
历史命oH口、编辑器和调试器、\径搜索和用于用户览帮助、工作空间、文件的览器。随着MATLAB的商业化以及软g本n的不断升U,MATLAB?
用户界面也越来越_致Q更加接qWindows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系l,极大
的方便了用户的用。简单的~程环境提供了比较完备的调试pȝQ程序不必经q编译就可以直接q行Q而且能够及时地报告出现的错误及进行出错原因分析?
Q?Q简单易用的E序语言
Matlab一个高U的矩阵/阵列语言Q它包含控制语句、函数、数据结构、输入和输出和面向对象编E特炏V用户可以在命oH口中将输入语句与执行命令同
步,也可以先~写好一个较大的复杂的应用程序(M文gQ后再一赯行。新版本的MATLAB语言是基于最为流行的CQ+语言基础上的Q因此语法特征与
CQ+语言极ؓ怼Q而且更加单,更加W合U技人员Ҏ学表辑ּ的书写格式。之更利于非计机专业的科技人员使用。而且q种语言可移植性好、可拓展?
极强Q这也是MATLAB能够深入到科学研I及工程计算各个领域的重要原因?
Q?Q强大的U学计算机数据处理能?/h3>
MATLAB是一个包含大量计算法的集合。其拥有600多个工程中要用到的数学运函敎ͼ可以方便的实现用h需的各U计功能。函C所使用的算?
都是U研和工E计中的最新研I成果,而前l过了各U优化和定w处理。在通常情况下,可以用它来代替底层编E语aQ如C和C++
。在计算要求相同的情况下Q用MATLAB的编E工作量会大大减。MATLAB的这些函数集包括从最单最基本的函数到诸如矩阵Q特征向量、快速傅?
叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运和U性方E组的求解、微分方E及偏微分方E的l的求解、符可、傅立叶变换和数据的l计分析?
工程中的优化问题?a target="_blank">E疏矩?/a>q算、复数的各种q算、三角函数和其他初等数学q算、多l数l操作以及徏模动态仿真等?
Q?Q出色的囑Ş处理功能
MATLAB
自生之日v具有方便的数据可视化功能,以将向量和矩는囑Ş表现出来Qƈ且可以对囑Şq行标注和打印。高层次的作囑括二l和三维的可视化、图象处
理、动d表达式作图。可用于U学计算和工E绘图。新版本的MATLABҎ个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软g都具有的
功能Q例如二l曲U和三维曲面的绘制和处理{)斚w更加完善Q而且对于一些其他Y件所没有的功能(例如囑Ş的光照处理、色度处理以及四l数据的表现
{)QMATLAB同样表现了出色的处理能力。同时对一些特D的可视化要求,例如囑Ş对话{,MATLAB也有相应的功能函敎ͼ保证了用户不同层ơ的?
求。另外新版本的MATLABq着重在囑Ş用户界面QGUIQ的制作上作了很大的改善Q对q方面有Ҏ要求的用户也可以得到满?
Q?Q应用广泛的模块集合工具?/h3>
MATLAB对许多专门的领域都开发了功能强大的模块集和工L。一般来_它们都是q定领域的专家开发的Q用户可以直接用工L学习、应用和评估
不同的方法而不需要自q写代码。目前,MATLAB已经把工L延CU学研究和工E应用的诸多领域Q诸如数据采集、数据库接口、概率统计、样条拟
合、优化算法、偏微分方程求解?a target="_blank">经|络?a target="_blank">L分析?
信号处理、图像处理、系lL识、控制系l设计、LMI控制、鲁控制、模型预、模p逻辑、金融分析、地囑ַ兗非U性控制设计、实时快速原型及半物理仿
真、嵌入式pȝ开发、定点仿真、DSP与通讯、电力系l仿真等Q都在工LQToolboxQ家族中有了自己的一席之地?
Q?Q实用的E序接口和发布^?/h3>
新版本的MATLAB可以利用MATLAB~译器和C/C++数学库和囑Ş库,自qMATLABE序自动转换为独立于MATLABq行的C和C++
代码。允许用L写可以和MATLABq行交互的C或C++语言E序。另外,MATLAB|页服务E序q容许在Web应用中用自qMATLAB数学?
囑ŞE序。MATLAB的一个重要特色就是具有一套程序扩展系l和一l称之ؓ工具qҎ应用子程序。工L是MATLAB函数的子E序库,每一个工L
都是为某一cdU专业和应用而定制的Q主要包括信号处理、控制系l、神l网l、模p逻辑、小波分析和pȝ仿真{方面的应用?
Q?Q应用Y件开发(包括用户界面Q?/h3>
在开发环境中Q用户更方便地控制多个文g和图形窗口;在编E方面支持了函数嵌套Q有条g中断{;在图形化斚wQ有了更强大的图形标注和处理功能Q包括对性对赯接注释等Q在输入输出斚wQ可以直接向Excel和HDF5q行q接?
工具
常用工具?/h3>
MATLAB包括拥有数百个内部函数的d和三十几U工具包。工具包又可以分为功能性工具包和学U工具包。功能工具包用来扩充MATLAB的符可,
可视化徏模仿真,文字处理及实时控制等功能。学U工具包是专业性比较强的工具包Q控制工具包Q信号处理工具包Q通信工具包等都属于此cR?
开放性MATLABq受用户Ƣ迎。除内部函数外,所有MATLABd文g和各U工具包都是可读可修改的文gQ用户通过ҎE序的修Ҏ加入自己~写E序构造新的专用工具包?
Matlab Main Toolbox——matlabdL
Control System Toolbox——控制系l工L
Communication Toolbox——通讯工具?
Financial Toolbox——胦攉K融工L
System Identification Toolbox——系lL识工L
Fuzzy Logic Toolbox——模p逻辑工具?
Higher-Order Spectral Analysis Toolbox——高阶谱分析工具?
Image Processing Toolbox——图象处理工L
LMI Control Toolbox——线性矩阵不{式工具?
Model predictive Control Toolbox——模型预控制工L
μ-Analysis and Synthesis Toolbox—?#956;分析工具?
Neural Network Toolbox——神l网l工L
Optimization Toolbox——优化工L
Partial Differential Toolbox——偏微分方程工具?
Robust Control Toolbox——鲁控制工L
Signal Processing Toolbox——信号处理工L
Spline Toolbox——样条工L
Statistics Toolbox——统计工L
Symbolic Math Toolbox——符h学工L
Simulink Toolbox——动态仿真工L
Wavele Toolbox——小波工L
常用函数
Matlab内部常数[3]
epsQQ点相对精?
expQ自然对数的底数e
i ?jQ基本虚数单?
inf ?InfQ无限大Q?例如1/0
nan或NaNQ非数|Not a numberQ,例如0/0
piQ圆周率 pQ? 3.1415926...Q?
realmaxQ系l所能表C的最大数?
realminQ系l所能表C的最数?
nargin: 函数的输入引C?
nargout: 函数的输出引C?
lasterrQ存放最新的错误信息
lastwarnQ存放最新的警告信息
MATLAB常用基本数学函数
abs(x)Q纯量的l对值或向量的长?
angle(z)Q复数z的相?Phase angle)
sqrt(x)Q开qx
real(z)Q复数z的实?
imag(z)Q复数z的虚?
conj(z)Q复数z的共轭复?
round(x)Q四舍五入至最q整?
fix(x)Q无论正负,舍去数xq整?
floor(x)Q下取整Q即舍去正小数至最q整?
ceil(x)Q上取整Q即加入正小数至最q整?
rat(x)Q将实数x化ؓ多项分数展开
rats(x)Q将实数x化ؓ分数表示
sign(x)Q符号函?(Signum function)?
当x<0Ӟsign(x)=-1Q?
当x=0Ӟsign(x)=0;
当x>0Ӟsign(x)=1?
rem(x,y)Q求x除以y的余?
gcd(x,y)Q整数x和y的最大公因数
lcm(x,y)Q整数x和y的最公倍数
exp(x) Q自然指?
pow2(x)Q?的指?
log(x)Q以e为底的对敎ͼ卌然对数或
log2(x)Q以2为底的对?
log10(x)Q以10为底的对?
MATLAB常用三角函数
sin(x)Q正弦函?
cos(x)Q余弦函?
tan(x)Q正切函?
asin(x)Q反正u函数
acos(x)Q反余u函数
atan(x)Q反正切函数
atan2(x,y)Q四象限的反正切函数
sinh(x)Q双曲正弦函?
cosh(x)Q双曲余弦函?
tanh(x)Q双曲正切函?
asinh(x)Q反双曲正u函数
acosh(x)Q反双曲余u函数
atanh(x)Q反双曲正切函数
适用于向量的常用函数?/strong>
min(x): 向量x的元素的最?
max(x): 向量x的元素的最大?
mean(x): 向量x的元素的q_?
median(x): 向量x的元素的中位?
std(x): 向量x的元素的标准?
diff(x): 向量x的相d素的?
sort(x): 对向量x的元素进行排序(SortingQ?
length(x): 向量x的元素个?
norm(x): 向量x的欧氏(EuclideanQ长?
sum(x): 向量x的元素d
prod(x): 向量x的元素MU?
cumsum(x): 向量x的篏计元素d
cumprod(x): 向量x的篏计元素MU?
dot(x, y): 向量x和y的内U?
cross(x, y): 向量x和y的外U?
MATLAB基本l图函数
plot: x轴和y轴均为线性刻度(Linear scaleQ?
loglog: x轴和y轴均为对数刻度(Logarithmic scaleQ?
semilogx: x轴ؓҎdQy轴ؓU性刻?
semilogy: x轴ؓU性刻度,y轴ؓҎd
plotl图函数的参?
字元 颜色 字元 囄型?
y 黄色 . ?
k 黑色 o ?
w 白色 x x
b 蓝色 + +
g l色 * *
r U色 - 实线
c 亮青?: 点线
m 锰?-. 点虚U?
-- 虚线
注解
xlabel('Input Value'); % x轴注?
ylabel('Function Value'); % y轴注?
title('Two Trigonometric Functions'); % 囑Ş标题
legend('y = sin(x)','y = cos(x)'); % 囑Ş注解
grid on; % 昄格线
二维l图函数
bar 长条?
errorbar 囑Ş加上误差范围
fplot 较精的函数囑Ş
polar 极标图
hist 累计?
rose 极标篏计图
stairs 阶梯?
stem 针状?
fill 实心?
feather 毛?
compass |盘?
quiver 向量场图[1]
]]>
@ ECHO.
@ ECHO. ??br>@ ECHO -----------------------------------------------------
@ ECHO 此命令将为本机每个盘都添加上hQ一般是用在新机上面?br>@ ECHO 以引导初学者更合理地支配他们的盘I间。事情微,?br>@ ECHO 能体现装专业细致的办事态度?br>@ ECHO -----------------------------------------------------
PAUSE
c:
label c:WINXP
label d:软g
label e:资料
label f:p
label g:游戏
label h:备䆾
d:
md 本机驱动E序
md 本机驱动E序\1.L芯片l?br>md 本机驱动E序\2.昑֍
md 本机驱动E序\3.声卡
md 本机驱动E序\4.|卡
md 本机驱动E序\5.外设
]]>
一?/span>Linuxq程的五个段
下面我们来简单归U一下进E对应的内存I间中所包含?/span>5U不同的数据区都是干什么的?/span>
1Q代码段Q代码段是用来存攑֏执行文g的操作指令,也就是说是它是可执行E序在内存中的镜像。代码段需要防止在q行时被非法修改Q所以只准许d操作Q而不允许写入Q修改)操作——它是不可写的?/span>
2Q数据段Q数据段用来存放可执行文件中已初始化全局变量Q换句话说就是存攄序静态分配的变量和全局变量?/span>
3Q?/span>BSSD:BSSD包含了E序中未初始化的全局变量Q在内存?/span> bssD全部置零?/span>
4Q堆Q?/span>heapQ:堆是用于存放q程q行中被动态分配的内存D,它的大小q不固定Q可动态扩张或~减。当q程调用malloc{函数分配内存时Q新分配的内存就被动态添加到堆上Q堆被扩张)Q当利用free{函数释攑ֆ存时Q被释放的内存从堆中被剔除(堆被~减Q?/span>
它的物理内存I间是由E序甌的,q由E序负责释放?/span>
5Q栈Q栈是用户存攄序时创建的局部变量,也就是说我们函数括弧“{}”中定义的变量Q但不包?/span>static声明的变量,static意味着在数据段中存攑֏量)。除此以外,在函数被调用Ӟ其参C会被压入发v调用的进E栈中,q且待到调用l束后,函数的返回g会被存放回栈中。由于栈的先q先出特点,所以栈特别方便用来保存/恢复调用现场。从q个意义上讲Q我们可以把堆栈看成一个寄存、交换时数据的内存区?/span>
它是由操作系l分配的Q内存的甌与回攉?/span>OS理?/span>
举个具体?/span>C语言的例子吧Q?/span>
//main.c
int a = 0; //全局初始化区
char *p1; //全局未初始化?/span>
main()
{
static int c =0Q?/span> //全局Q静态)初始化区
int b; //?/span>
char s[] = "abc"; //?/span>
char *p2; //?/span>
char *p3 = "123456"; //"123456\0"在常量区Q?/span>p3在栈上?/span>
p1 = (char *)malloc(10);
p2 = (char *)malloc(20); //分配得来?/span>10?/span>20字节的区域就在堆区?/span>
}
二、各个段在内存中的组l?/font>
各个D|在线性空间中的组l。直接上图:
+-------------------------------- 高地址
+ envstrings 环境变量字串
+--------------------------------
+ argv string 命o行字?/span>
+--------------------------------
+ env pointers 环境变量指针?/span>
+--------------------------------
+ argv pointers命o行参数指针表
+--------------------------------
+ argc 命o行参C?/span>
+--------------------------------
+ main函数的栈?/span>
+--------------------------------
+ 被调用函数的栈
+--------------------------------
+ ......
+--------------------------------
+ ?/span>(heap)
+--------------------------------
+ BSS 未初始化全局数据
+--------------------------------
+ Data 初始化的全局数据
+--------------------------------
+ Text 代码D?/span>
+--------------------------------
其中Q?/span>HeapQ?/span>BSSQ?/span>Dataq三个段在物理内存中是连l存攄Q可以这么理解:q三个是一体的?/span>Text?/span>Stack是独立存攄Q这是现?/span>Linux中个D늚分布Q在0.11中代码段和数据段不是分立的,是在一L也就是说数据D和代码D|一个段Q当然了Q堆?/span>BSS也与它们一起了。从0.11的task_struct中还可以看出数据Dc堆栈段的描q符是一个,都在ldt[2]处?/span>