当前位置:文档之家› Matlab语言基础

Matlab语言基础


n
结构体是用“字段”来对 其元素进行索引,而不是 通过数字索引。 结构体采用点号“.”来访 问字段中的数据变量,与 C++ 类似。
创建第二个circle
n n
size(circle) Circle是一个结构体标量,1×1维,也就是它只 包含了一个圆的信息。 >> circle(2).radius=3.4; >> circle(2).linestyle=':'; >> circle(2).center=[2.3,-1.2]; >> circle(2).color='green'; size(circle)
有关矩阵函数的示例
n
输入或生成一个矩阵,并求这个矩阵的秩、 维数、逆矩阵、转置矩阵、矩阵与逆相关 的条件数、矩阵行列式的值、矩阵的 Hessenerg形式。 n a=magic(5),b=rank(a),c=size(a), d=inv(a),e=a.‘,f=cond(a),g=det(a), h=hess(a)
创建单元数组
通过赋值语句直接创建 ¨>> A={[1 2],'John Smith';2+3i,5;[2 3 4;3 4 5;4 5 6],'A character string'} n 利用cell函数先为单元数组分配一个内存 空间,然后再给各个单元赋值。 ¨>> A=cell(3,2)
n
索引单元数组
n
Scalar expansion
¨ >>
n
a = [1 2; 3 4] ¨ >> a+[1 2] ¨ >> a+1
矩阵的四则运算 矩阵的加减运算必须是同维之间进行 矩阵的乘法需符合计算要求 矩阵的除法?
运算要符合数学定理和 Matlab语法,否则出错!
矩阵的代数运算 矩阵的求逆:inv(a)、pinv(a) 矩阵的特征值、特征向量和特征多项式 矩阵的分解 求解线性方程组 特殊矩阵
矩阵的下标/索引
() versus []
Indexing Order of operations Argument list Matrix/Vector creation Concatenation Multiple outputs
冒号表达式
n
冒号表达式的原型:v=s1:s2:s3 n %该函数将生成一个行向量v,其中s1为向量 的起始值,s2为步距,s3为最大值。
表达式Expressions
Matlab中的表达式,主要由以下几部分组成:
数字 变量 运算符 函数 Numbers Variables Operators Functions
变量
n
Variables
Matlab的变量在使用前不需要定义数据类型 和维数,但需要赋值。 n 变量的第一个字符必须是英文字母,后面跟 字母、数字或下划线,且不超过31个字符。 n 变量名的大小写敏感。 n 查看变量的值,只需在命令窗口中输入变量 名。
数字 变量 运算符 函数 Numbers Variables Operators Functions
数字
Numbers
例如:2e-004 例如:2+0.45i
Matlab中的数采用十进制表示 科学计数法用e表示, 虚数单位用i或j表示, 数据显示格式:
格式 format (short) format long format short e format long e format bank format hex 含义 短格式(5位定点数) 长格式(15位定点数) 短格式e方式 长格式e方式 2位十进制 十六进制格式
n n n n n
什么情况下用 结构体更方便?
逻辑变量、关系运算和逻辑运算
关系运算符 描述 小于 小于等于 大于 大于等于 等于 不等于 描述 两个逻辑数组间的与 两个逻辑数组间的或 对逻辑数组的取反 标量表达式的避绕式与 标量表达式的避绕式或
n n
区分“=”和“==” 在对一个表达式执行 关系运算和逻辑运算 时,如果表达式真, 则返回1,如果表达式 假,则返回0。
注意清除Workspace中 的变量,以免同名不同意的 变量相互影响!
变量的保存,save
n n
save 文件名,变量名1,变量名2,….
¨ 把变量1、2….保存到文件名.mat二进制文件中。
save 文件名,变量名1,变量名2,…. ASCII
¨ 把变量1、2….保存到文件名ASCII码文件中。
{ }用于访问单元的值 n ( )用于标识单元而不查看它的值 n 对比:A{1,1},A(1,1)
n
创建结构体
n n n n n
>> circle.radius=2.5; >> circle.center=[0,1]; >> circle.linestyle='red'; >> circle.linestyle='--'; >> circle.color='red';
变量的查看、清除和保存
查看变量,who/whos who 列出当前工作空间中的变量
whos 列出当前工作空间中的变量的大小、 类型等详细信息。
在Workspace中 可以看到所有变量 信息!
清除变量,clear
clear 清除工作空间中的所有变量
clear 变量名1,变量名2,… 清除工作空间中特定的变量
n
行数和列数
m*n m*n*z
行数、列数 和页数
字符串
>> t='How about character string?‘ n >> t(11:19) n >> t(3:4)
n
一个字符串就是用单引号括起来的一系列字符的组 合,其中的每个字符都是该字符串的一个元素,通 常用两个字节来存储。
数字与字符串的相互转换
str2num str2double sscanf
其他字符串函数
判断是否为字符串 对比,连接等等
n n n n
ischar iscellstr isspace isstrprop
n n n n n
strcat strvcat strcmp strncmp ……
单元数组
ü
是矩阵的直接拓展,其存储格式类似普通 的矩阵,而这个矩阵的每个元素不一定是 数值,它可以存储任意类型的信息,这样 每个元素成为“单元(cell)” 。
很好用,避免使用 低级文件I/O函数。
变量的装载,load
load 文件名 将文件名指定的磁盘文件中的数据依次读入名 称与文件名相同的工作空间中的变量中去。 可以装载mat、dat、txt等文件。
举个例子吧!
表达式Expressions
Matlab中的表达式,主要由以下几部分组成:
数字 变量 运算符 函数 Numbers Variables Operators Functions
n n n n n n n n
int2str num2str mat2str sprintf fprintf
n n n
通用格式转换函数
>> r=sqrt(2); >> s=pi*r^2; >> area=sprintf('A circle of radius %.5g has an area of %.5g.',r,s)
Function Length ndims numel size Description 矩阵最长维数的长度 维数 元素个数 每一个维的长度(help size)
矩阵形状的改变
Function reshape rot90 fliplr flipud flipdim transpose Description Change size Rotate matrix 90 degrees(counterclockwise) Flip matrix in left/right direction Flip matrix in up/down direction Flip matrix along specified dimension non-conjugate transpose 非共轭转置
创建特殊矩阵
zeros(m,n):创建一个m行n列的全0矩阵 n ones(m,n):创建一个m行n列的全1矩阵 n eye(m,n):创建一个m行n列的单位矩阵 n diag(v):对角矩阵 n rand(m,n):随机矩阵 n magic(n):魔方矩阵(正方形,每行每列元素之 和相等)
n
矩阵信息的提取
赋值语句
基本数据类型
ü ü ü ü ü
字符串型数据:用单引号括起来 单元数组(cell array) 结构体(structure) 类和对象 符号变量(单独讲)
将不同类型的相 关数据集成到一 个单一的变量中。
数据的基本要素
Name n Class n Size n Value
n
数据的基本要素
Name n Class n Size n Value
Matalb中的常量
名称 pi INF(inf) NaN(nan) realmax realmin eps i(j) nargin nargout ANS(ans) 说明 圆周率 无穷大 代表不定值(即0/0) 最大的正实数 最小的正实数 浮点数的相对误差 虚数单位,-1的开方 函数实际输入参数个数 函数实际输出参数个数 默认变量名,以应答最近一 次操作运算结果
Lecture 2-1 Matlab语言基础
Matlab的基本数据结构是矩阵。 其中,标量可以看成是1×1维,向量可以 是1×n维或n ×1维。 Matlab无需定义数据类型,也不用指定其维数。
相关主题