matlab常用知识小结
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
try 语句:经典的程序设计语言中未出现,这是一种试探性的分支语句,也就是如果这条语 句执行有错误,则不执行,或执行其他的语句,提高了程序的容错性能,其语法为: try 语句 1 catch (可以省略)
语句 2 end 执行过程为:如果语句 1 错误执行语句 2,如果语句 1 正确直接结束. (循环可以嵌套,但是在 MATLAB 中,循环的执行效率很低,因此应该尽量避免使用循环,更要 避免使用两重以上的循环.) 二、基础编程知识 输入与输出函数 fprintf( 文 件 地 址 ,格 式 , 写 入 的 变 量 ) : 指 数 据 写入 指 定 文 件 。 如 : x=0:0.1:1; y=[x,exp(x)]; fid=fopen( ‘ vexp.txt ’ , ’ w ’ ); fprintf(fid, ’ %6.2f %12.8f\n ’ ,y); fclose(fid); input():输入函数 disp:显示字符串或变量 pause(n):暂停 n 秒执行程序 nargin/nargout:函数输入与输出参数的个数 nargchk(low,high,nargin,’struct’): varargin/varargout:未知的输入输出参数 inline():定义一个内联函数,只能对数值进行代入,不支持符号运算,效率高但占用内 存大。如: g = inline('t^2') 7 g = inline('sin(2*pi*f + theta)')
str3=[‘M’,’a’,’t’; ‘r’,’i’,’x’]
Matlab 中字符是以 ASCII 码存储的,因而区分大小写,可用 double 函数查看一个字符 的 ASCII 码
4
直接赋值:
str1=’Matrix’;
str2=’Laboratory’;
str=[str1,str2];
使用 char 函数:
char 的输入参数范围为 [0,65535],当输入参数中有小数时,直接将小数部分舍去。 Num2str 直接将每个数字转换成字符 mat2str 把整个矩阵转换成字符行向量,包括矩阵中的方括号、空格 和 分号(逗号 自动去除) 运行字符串所表示的表达式或命令: 函 数 strcmp strcmpi upper blanks strmatc h strjust 对齐字符数组,包 括左对齐,右对齐和居 中 strtok 返回字符串中第一个分隔符 ( 空格, 回车和 Tab 键 ) 前的部 分 功 能 比较字符串 忽略大小写比较字符串 转换为大写 产生空字符串 查找匹配的字符串 eval 函 数 strrep strncmp lower deblank findstr 如: str=’A=magic(3)’; 功 能 替换字符串 eval(str)
12.pathtool:打开 setpath 窗口 13.edit:打开 editor 编辑器 14.error(‘wrong’):错误信息函数 Matlab 的特殊变量与常量 eps — 容差变量,(计算机的最小数)在 pc 机上 = 2e-52 pi — 圆周率的近似值 3.1415926 inf 或 Inf — 表示正无大,定义为 1/0 NaN — 非数,(Not a Number)它产生于 0×,0/0,/ 等运算,即 0*inf i,j — 虚数单位 flops —浮点运算数
比较字符串的前 n 个字符 转换为小写 删除字符串中的空格 在一个字符串中查找另一字 符串
5
细胞:
用赋值语句直接定义:
A=[1 2; 3 4]; str=’Matlab’;
M={1:4, A, str}; celldisp(M)
用 cell 函数预先分配存储空间,然后对细胞的每个元素逐个赋值。
Cell(m,n) M=cell(1,3); 生成一个 m 行 n 列 的细胞数组。A=[1 2; 3 4]; str=’Matlab’;
g = inline('sin(2*pi*f + theta)', 'f', 'theta') y=g(x);若 x 是矩阵,y 为相应大小的矩阵。 匿名函数的建立,如 function f=betaf(t,z,w) f=t^(z-1)*(1-t)^(w-1)
g = inline('x^P1', 1)
user clases
classes 函数句柄
intmax 和 intmin :查询不同整型所能表示的最大整数和最小整数。 Realmax 和 realmin :查询单精度和双精度所能表示的最大浮点数和最小浮点数。 Realmax(‘single’); realmin(‘single’);
realmax 和 realmin 与 realmax(‘double’)/realmin(‘double’)等价 int8/uint8 等 也 是 类 型 转 换 函 数 , 如 : x1=int8(11); x6=uint8(256)(x6=255); 同样 single/double 也是类型转换函数 class:查看变量类型 x2=int8(15.49);
M{1,1}=1:4; M{1,2}=A; M{1,3}=str; celldisp(M) A=[1 2; 3 4]; str=’Matlab’;
细胞变量的引用必须使用大括号:
M={1:4, A, str}; N={‘hello’, M; eye(2),magic(3)};
N{1,1} N{1,2} N{1,2}{1,2} N{1,2}{1,2}(2,1)
(复数的定义):直接输入如:
z=3+4i
使用 complex 函数:z=complex(3,4)
字符与字符串函数: 定义:必须用单引号括起来:
str1=’Matrix Laboratory’ str2=[‘M’,’a’,’t’,’r’,’i’,’x’]
字符串是多个字符组成的字符行向量: 字符数组必须是方的:
在命令窗口输入 Q=quadtx(@betaf,0,1,1.e-6,8/3,10/3); 常用逻辑运算 all/any 经常用在 if 语句中 返回 0 或 1; isinf(x) 无穷大返回 1; isreal(x) 无虚部返回 1; isa(OBJ,’classname’) isinteger(A) ture if object is a given class for arrays of integer data type. ( 还 有 istrl(x) 字符串返回 1 isempty(tol) 若缺少则返回 1
ans — 对于未赋值运算结果,自动赋给 ans nargin —函数的输入变量个数 realmin 最小的正浮点实数 nargout —函数的输出变量个数 realmax 最大的正实数
2
Matlab 数据的变量精度与显示方式 格式 format format short format long format short e format long e format short g 中文解释 默认格式,即 short 短格式(定点十进制 5 位有效数字) 长格式(定点十进制 15 位有效数字) 短格式 e 方式(浮点十进制 5 位有效数字) 长格式 e 方式(浮点十进制 15 位有效数字) 短格式 g 方式(少于 5 位有效数字的元素采用原形式,其余采用浮点 十进制 5 位有诳数字) format long g 长格式 g 方式(少于 15 位有效数字的元素采用原形式,其余采用浮 点十进制 15 位有诳数字) format hex format + 十六进制格式 显示矩阵的正负号,符号+ -和空白分别对应正数 负数和零(虚部被 忽略) format bank format rat format compact format loose 银行格式(定点十进制小数点后 2 位有效数字,通常用于实数 以分数形式显示矩阵元素 屏幕显示方式为紧凑,数据间隔小 自由格式
celldisp(M):输出细胞变量的内容 cellplot:用图形方式显示细胞变量的内容
MATLAB 程序控制结构 switch 分支语句:switch 表达式 case 表达式 1 case 表 达 式 m rate=.03; otherwise 表 达 式 rate=.05; end (注意:此语句没有 break 语句) otherwise end rate=.1; 语 句 组 3( 此 行 可 以 没 有 ) case {5,6,7,8,9} 语句组 1 语句组 2 例:switch fix(price/100) case {0,1} rate=0; case {2,3,4}
str=char([77,97,116,108,97,98]) [ASCII 码 字符串]
str=char(str1,str2) [生成一个字符数组,第一行为 str1,第二行为 str2]
转换函数:
按 ASCII 码转换: 字符数组到数值数组:double 数值数组到字符串:char 直接将转换数值数组转换成字符数组 a=[97,97.3;97.8,98]; str1=char(a) str2=num2str(a) str3=int2str(a) str4=mat2str(a)
对于 matlab 的整体认知
在 work 目录下建立 startup.m 可以产生欢迎效果。在 m 文件里输入:disp('嗨! ! ! 怎么样?今天心情愉快么?打起精神来!Do It !!! ..........'); (1) File 菜单项:File 菜单项实现有关文件的 操作。 (2) Edit 菜单项:Edit 菜单项用于命令窗口的编辑操作。 (3) Debug 菜单项:Debug 菜单项用于调试 Matlab 的程序。 (4) Desktop 菜单项: Desktop 菜单项用于设置 Matlab 的窗口布局。 (5) Window 菜单项:主窗口菜单栏上的 Window 菜单,包含一个子菜单 Close all, 用于关闭所有打开的编辑器窗口,包括 M-file、Figure、Model 和 GUI 窗口。 (6) Help 菜单项:Help 菜单项用于提供帮助信息。 方向键和控制键可以编辑修改已输入的命令 上方向键: 回调上一行命令 Home 键:回到当前命令行的起始位置 有用的系统命令 1.dir— 可列出指定目录下的文件和子目录清单 例如: dir 可显示当前目录下的所有文件 dir c:\matlab 下方向键:回调下一行命令 End 键:回到当前命令行结束的位置
8. load mydata
载入数据文件中的所有变量 x 从数据文件中提取指定变量
load mydata A
9.变量查询函数 who 与 whos (简与全)[永久变量用 who 指令是查看不到的,只可 随 时调用] 10.path:获取或设置搜索路径(设置,如:’path(path,’c:tools\goodstuff’) 11.userpath: 更 改 系 统 默 认 搜 索 路 径 ( 如 : userpath(‘Program Files\MATLAB\R2009a\work’ 然后 savepath)
MATLAB 中数据类型及相Fra Baidu bibliotek函数
MATLAB 中数据类型 Logical Char Numeric(数值)(integer) Cell( 细 胞) Structure java function_han dle
3
int8[-2e7,2e7], uint8[0,2e8] int16, uint16 int32, uint32 int64, uint64 single, double
清除当前工作空间中的所有变量
clear A
x
清除指定的变量
7.save[文件名][变量名][-append][-ascii] 1
将所有变量存入文件 matlab.mat
save mydata
将所有变量存入指定文件 mydata.mat
(如果想在 mydata.mat 中继续添加变量 d 用如下命令: save matlab d –append) 例:>> save mydata Axz
2.cd(current directory)—可改变当前工作目录 cd c:\matlab\toolbox cd path:由当前目录进入 path 目录 cd:显示当前目录 type delete myfile.m c:\matlab\aaa.m
cd ..:返回上一级目录 3.type — 可显示指定文件的全部内容 4.delete ——删除指定文件 5.clc 6.clear 清除命令窗口全部内容