学习笔记
来源:互联网 发布:淘宝5金冠店铺是那个 编辑:程序博客网 时间:2024/05/17 03:58
字符和字符串
MATLAB中一个字符串是存储在一个行向量中的文本,这个行向量中的每一个元素代表一个字符。实际上,元素中存放的是字符的内部代码,即ASCII码。由于字符串是以向量的形式来存储的,因此可以通过它的下标对字符中的任何一个元素进行访问。字符矩阵也可以通过下标索引进行访问,但是矩阵的每行字符数必须相同。
String = 'Every good boy dose fun.';size(String);ans = 1 24
ans表示String为1x24的矩阵,空格和句号亦为元素,字符+空格+句号=24个元素。
获取String字符串的第7~10个元素
u=String(7:10)u= good获取第10~7个元素
u=String(10:7) <span style="color:#CC0000;">Empty matrix: 1-by-0</span>
如果要取反向元素,这样是错的,应该这样写:
u=String(10:-1:7)u= doog
字符串内的单引号是右两个连续的单引号来表示的
string='It''s not the manual!'string= It's not the manual!
字符串的链接
u='Hello,'v='world!'w=[u v]w= Hello,world!
函数句柄
我对函数句柄的理解是:函数句柄就是一个包含了函数名的变量,使用函数句柄即为调用句柄表示的函数。
注意:创建函数句柄需要用到操作符@
f=@cosf= @coscos(0)ans= 1.0000f(0)ans= 1.0000
在上面的例子里,f等同于cos函数,调用f即为调用cos
>>x = 0 : 0.25*pi : 2*pix= 0 0.7854 1.5708 2.3562 3.1416 3.9270 4.7124 5.4978 6.2832>>f(x)ans= 1.0000 0.7071 0.0000 -0.7071 -1.0000 -0.7071 -0.0000 0.7071 1.0000
函数句柄的操作函数
1.functions(f)
返回一个结构体,存储了函数的名称、函数类型(simple或overloaded),以及函数M文件的位置
>>f=@exp;>>functions(f)ans= funciton: 'exp' type: 'simple' file: ''2.func2str(f)
将函数句柄转换为函数名称字符串
3.str2func(str)
将字符串代表的函数转换为函数句柄
4.save filename.mat funhandle
将函数句柄保存在*.mat文件中
5.load filename.mat funhandle
把*.mat文件中存储的函数句柄加载到工作区
6.isa(var,'function_handle')
检测变量var是否是函数句柄,真返回1,假返回0
>>isa(f,'function_handle')ans= 1
7.isequal(funhandlea,funhandleb)
检测两个函数句柄是否对应于同一个函数
结构体
创建结构体的两种方法:
(1)通过字段复制创建结构体。格式为:结构体名称.字段名称
>> student.name='sam';>>student.grade=6;>>student.subject={'chinese','math','english'};student = name: 'sam' grade: 6 subject: {'chinese' 'math' 'english'}
(2)利用struct函数创建结构体。
struct函数的句法形式为:StrArray = struct('field1', var1, 'field3', var2,...,'fieldn', varn)
>> scedule(2)=struct('Day','Thursday','Time','15:00','Number','18')scedule = 1x2 struct array with fields: Day Time Number>> scedule(1)ans = Day: [] Time: [] Number: []>> scedule(2)ans = Day: 'Thursday' Time: '15:00' Number: '18'
结构体第一个元素scedule(1)没有赋值,因此scedule(1)所有字段均为空数组。
函数repmat(A,M,N)表示,创建每个元素均为A的MXN矩阵
>> scheduleArray=repmat(struct('Day','Thursday','Time','15:00','Number','18'),2,2)scheduleArray = 2x2 struct array with fields: Day Time Number>> scheduleArray(1,2)ans = Day: 'Thursday' Time: '15:00' Number: '18'
结构体数组
>> newArray=struct('Day',{'Thursday','Firday'},'Time',{'15:00','9:00'},'Number',{18,6})newArray = 1x2 struct array with fields: Day Time Number>> newArray(1)ans = Day: 'Thursday' Time: '15:00' Number: 18>> newArray(2)ans = Day: 'Firday' Time: '9:00' Number: 6
数组类型
在MATLAB中,数组的定义是广义的,数组的元素可以是任意的数据类型,例如可以是数组、字符串、指针等。
对变量赋值创建数组
>> array=[1 2 3 4 5 6 ]array = 1 2 3 4 5 6
使用冒号":"来代表一系列数值
(1)array=i:k
创建从i开始,步长为1,到k结束的数字序列
>> array=1:6array = 1 2 3 4 5 6(2)array=i:j:k
创建从i开始,步长为j,到k结束的数字序列
>> array=1:2:7array = 1 3 5 7
- 学习笔记?
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- etc目录含义
- 第32讲项目2——输出小星星
- 用math方法画一个近似圆
- 一个适合初学者学习Web开发的网站(入门到精通)
- iOS UIView自带动画和核心动画
- 学习笔记
- 关于MySQL连接和多表更新的心得
- oracle中start with查询数据重复
- 两个JSP页面跳转传参数
- 二叉查找树以及相关的几个树
- FancyBox的ajax利用json形成gallery
- ActiveMQ 即时通讯服务 浅析
- ButterKnife的简单使用
- Sum It Up