MATLAB 的数据类型
在MATLAB中有15种基本的数据类型:
8种整型数据类型、单精度浮点型(float)、双精度浮点型(double)、逻辑型(logical)、字符串型(char)、单元数组型(cell)、结构体类型(struct)和函数句柄型(function_handle)。 【MATLAB中,默认的数值类型是 双精度浮点型(double)】
>> a1= int8(-) %有符号整数 a1 = int8 -
--------------------------------------------------
>> a2=uint16() %无符号整数 a2 = uint16 --------------------------------------------------
>> a3=single(3.5) %单精度浮点数 a3 = single 3.5000
--------------------------------------------------
>> a4= a4 = --------------------------------------------------
>> a5=true %逻辑型 a5 = logical --------------------------------------------------
>> b2{,}= %单元数组 b2 = × cell 数组 []
[]
--------------------------------------------------
>> b3='hello' %字符串类型 b3 = hello
--------------------------------------------------
>> b4.familyname='Zhang' %结构体类型 b4 = 包含以下字段的 struct: familyname: 'Zhang'
--------------------------------------------------
>> c=@cos %函数句柄 c = 包含以下值的 function_handle: @cos >>
在MATLAB编程中,变量不需要定义就可以使用。在程序中,建立了采用不同数据类型的变量,并进行了输出。在MATLAB的命令行窗口中输入whos 后,输出结果为:
1、整数
8种整型数据类型分别为: 有符号整型:int8(1个字节), int16(2个字节), int32(4个字节), int64(8个字节); 无符号整型:uint8, uint16, uint32, uint64。(字节数同前)
2、浮点数
浮点数和其他类型的数据进行运算时,返回的结果取决于运算中的其他数据类型。
3、复数
可以采用赋值语句直接产生复数,也可以采用函数 complex()来产生复数。
4、逻辑类型数据
包括逻辑真(用1表示,函数为true())、逻辑假(用0表示,函数为false())。
5、函数句柄(function_handle)
在MATLAB中,函数句柄类似于C语言的指针,可以通过函数句柄来间接调用函数。函数句柄可以通过符号@后面跟函数名来创建。
比如,程序 fhandle =@sin,创建了函数sin()的函数句柄 fhandle,以后就可以通过函数句柄 fhandle来间接调用函数 sin()。
6、结构体类型
MATLAB的结构体类似于C语言中的结构体数据结构。结构体是按照成员变量名组织起来的不同数据类型数据的集合。
每个成员变量用指针操作符 “.” 表示。例如 A.name 表示结构体变量 A 的 name 成员变量。
>> stu().name='Zhang'; %对成员变量 name 赋值
>> stu().age=; %对成员变量 age 赋值
>> stu().gender='Male'; %对成员变量 gender 赋值
>> stu().name='Li';
>> stu().age=;
>> stu().gender='Male';
>> stu %显示成员变量
-------------------------------------
stu = 包含以下字段的 × struct 数组: name
age
gender
-------------------------------------
>> stu() ans = 包含以下字段的 struct: name: 'Zhang'
age:
gender: 'Male'
-------------------------------------
>> stu() ans = 包含以下字段的 struct: name: 'Li'
age:
gender: 'Male' >>
7、单元数组
单元数组是一种比较特殊的数据类型,每个元素都以单元(cell)的形式存在。在MATLAB中,采用大括号 { } 建立单元数组,也可以采用函数cell()来建立单元数组。在获取单元数组的元素时,下标需要用大括号括起来。
>> c={'China','Good morning!';[:;:;:],} %建立单元数组 c = × cell 数组 'China' 'Good morning!'
[× double] [ ]
---------------------------------------------
>> a1=c{,} %获取单元数组中元素的值 a1 = China
---------------------------------------------
>> a2=c{,} %获取单元数组中元素的值 a2 = Good morning!
---------------------------------------------
>> c{,}=[ ] %删除单元数组中元素的值===》》》将单元数组的某些元素设置为空[ ],可以将该元素删除。 c = × cell 数组 'China' []
[× double] []
需要注意:采用成对的大括号({}) 只能获取单个的元素,
MATLAB 的数据类型的更多相关文章
- 2.1 MATLAB的数据类型
2.1 MATLAB的数据类型 每种数据类型都是以矩阵的形式存在的 数据类型:数值型.字符型.元胞型.结构体.函数句柄 数值型包含:双精度类型.单精度类型.整型 支持不同数据的转换 2.1.1 变量与 ...
- MATLAB常用数据类型的转换
一直以来,在使用MATLAB进行运算的过程中,经常会用到对图像的各种处理,因此需要对图像进行数据转换,因此对经常用到的转换进行整理,方便查看. 1.uint8转化为double用来方便图像的运算: d ...
- Matlab基本数据类型
本文转载自:http://hi.baidu.com/xmf6227/blog/item/97ca2ddf98f1b61f495403cb.html Matlab中有15种基本数据类型,主要是整型.浮点 ...
- matlab中数据类型
在MATLAB中有15种基本数据类型,分别是8种整型数据.单精度浮点型.双精度浮点型.逻辑型.字符串型.单元数组.结构体类型和函数句柄.这15种基本数据类型具体如下. 有符号整数型:int8,int1 ...
- [转]MATLAB cell数据类型
细胞型数据类型(cell)使不同类型和不同维数的数组可以共存,细胞型数组实际上可以认为是一种以任意形式的数组为分量的多维数组. 1.细胞型数据的定义 1)直接赋值定义:细胞型变量在定义时需要使用大括号 ...
- Matlab编程知识点
容易忘记的小知识点: Matlab程序首行程序: clear:close all:clc:程序运行开始最好清理下之前残留的各种数据,不然matlab可能会出错. clear(清理变量空间),close ...
- 接触Matlab5年一个总结(Matlab要掌握的一些要点 )
阅读目录 前言 Matlab的开发环境与简单介绍 Matlab的常见命令 Matlab的灵魂-矩阵操作 Matlab的.m或.fig的编程与技巧 从大二开始接触到matlab,讲真,这是一个我觉得很良 ...
- 接触Matlab10年后的一个总结,随时使用Matlab要掌握的一些要点
不记得上一次写超过20行的matlab程序是什么时候了,大概是2013年吧,那个时候写过2篇文章,实际用到了 一些matlab的内容,超过200行的matlab程序应该要追溯到2011年了,最近为了帮 ...
- C语言与MATLAB接口 编程与实例 李传军编着
罗列一下以前自己学习C语言与MATLAB混编的笔记,顺便复习一遍. <C语言与MATLAB接口 编程与实例 李传军编着>(未看完,目前看到P106) 目录P4-8 ************ ...
随机推荐
- 设置iSCSI的发起程序(客户端)(三)
iSCSI 发起程序是一种用于同 iSCSI 目标器认证并访问服务器上共享的LUN的客户端.我们可以在本地挂载的硬盘上部署任何操作系统,只需要安装一个包来与目标器验证. 初始器客户端设置 功能 可以处 ...
- 图解Javascript——执行上下文
什么是执行上下文? 执行上下文(Execution Context)是ECMAScript规范中用来描述 JavaScript 代码执行的抽象概念,规定了当前代码执行的环境(当前执行代码片段中的变量. ...
- 在servlet中返回json数据
在servlet: String name = new tring(request.getParameter("name").getBytes("iso8859-1&qu ...
- Nodejs微信开发
因为使用了Bot Framework开发了一个小功能,它目前支持了Skype\Teams\Slack等,但在国内来讲,微信还是一个比较流行的软件,所以需要接上微信 原来开发Bot的时候使用的是.Net ...
- 直接利用本地git上传项目到github
http://m.blog.csdn.net/article/details?id=50441442 本文将详细介绍如何托管你的项目到github上 转载请标明出处: http://blog.cs ...
- POJ 2018 Best Cow Fences
斜率优化. 设$s[i]$表示前缀和,$avg(i,j)=(s[j]-s[i-1])/(j-(i-1))$.就是$(j,s[j])$与$(i-1,s[i-1])$两点之间的斜率. 如果,我们目前在计算 ...
- Forward与include的区别
Forward与include的区别 <jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入. < ...
- 【博弈论】【SG函数】【找规律】Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) E. Game of Stones
打表找规律即可. 1,1,2,2,2,3,3,3,3,4,4,4,4,4... 注意打表的时候,sg值不只与剩下的石子数有关,也和之前取走的方案有关. //#include<cstdio> ...
- 【找规律】Codeforces Round #392 (Div. 2) C. Unfair Poll
C. Unfair Poll time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- python基础-协程函数、递归、模块、包等内容
1. 协程函数 1.1 yield基本用法 yield作用 1.把函数的执行结果封装好,即封装__iter__和__next__,即得到一个迭代器 2.与return功能类似,都可以返回值,但不同的是 ...