收藏 分享(赏)

Matlab讲义-第四章Matlab语言数据结构1-10.pdf

上传人:a**** 文档编号:769246 上传时间:2025-12-14 格式:PDF 页数:26 大小:527.03KB
下载 相关 举报
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第1页
第1页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第2页
第2页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第3页
第3页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第4页
第4页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第5页
第5页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第6页
第6页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第7页
第7页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第8页
第8页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第9页
第9页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第10页
第10页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第11页
第11页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第12页
第12页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第13页
第13页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第14页
第14页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第15页
第15页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第16页
第16页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第17页
第17页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第18页
第18页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第19页
第19页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第20页
第20页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第21页
第21页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第22页
第22页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第23页
第23页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第24页
第24页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第25页
第25页 / 共26页
Matlab讲义-第四章Matlab语言数据结构1-10.pdf_第26页
第26页 / 共26页
亲,该文档总共26页,全部预览完了,如果喜欢就下载吧!
资源描述

1、第四章 Matlab语言基础 Matlab语言程序简洁、可读性很强而且调试十分容易。是MALAB的重要组成部分。MATLAB的数据类型 各种数据类型的层次关系 4.1 Matlab语言的数据结构每一种数据都以矩阵或数组的形式存在4.1 Matlab语言的数据结构Matlab共有六种基本数据类型,每一种数据都以矩阵的形式存在。包括:数值型:双精度(double),单精度(single),整数型(integer)字符型:char单元型:cell结构型:struct逻辑类:logical函数句柄型:function handle一般只在大型程序中使用在MATLAB中,所有的数据类型都用双精度类型do

2、uble来存储和运算uint8类型:数值范围从0255。在图像处理工具箱中,图像中每个像素的灰度值均为uint类型。一般用于存储图象数据 整数型 在MATLAB中,所有的数据类型都用双精度类型double来存储和运算;可对unit等类型数组进行基本操作,但不能对它们执行任何数学运算,在执行数学运算之前必须用double函数把这类数组转换成双精度型。如对图像进行运算时,要将读入MATLAB的图像数据转换为double类型,运算结束后,要显示图像或保存图像,则必须将double类型转换成uint类型。y2=mat2gray(detxdata);imshow(y2)subimage(y2);txda

3、ta=imread(lena.bmp);double_txdata=double(txdata);对图像进行运算时,要将其转换为double类型,运算结束后,要显示图像或保存图像,则必须将double类型转换成uint类型。本节侧重介绍MATLAB中的字符Lenna/Lena是一张数字化了的1972年12月份的美国花花公子插页clc,cleartp=imread(lena.bmp);imshow(tp)double_tp=double(tp);out=double_tp+sqrt(2000)*randn(size(double_tp);y2=mat2gray(out);figure(2)%im

4、show(y2)subimage(y2);1002003004005001002003004005004.1.1字符字符串变量是指字符向量或矩阵下面介绍字符向量和字符矩阵的创建s=University of Petroleum of China;s=University of Petroleum of China1.字符向量的构造:一、字符向量和字符矩阵的创建(1)直接赋值的方法:加单引号S(10)为字母yS(15)为P可见s为33个元素的字符向量 size(s)%查看变量的维数ans=133-两种方法(2)用构造字符串向量:将多个串变为一个串说明:当在字符向量内出现单引号时,应改为两个单引号

5、(注意不是双引号),如:s=China,University of Petroleums=China,University of PetroleumChinaUniversity of Petroleum s=Its yours.%屏幕上显示内容为Its yours.%将多个字符串连接在一起,与数值矩阵结果一致%可人为加空格2.字符矩阵的构造字符矩阵的构造有三种方法:、char、str2mat一般使用函数char及str2mat函数char及str2mat 自动在较短的字符行向量后面补上空格,以使每行的长度相同。S1=Beijing;Tianjin;Shanghai;S2=char(Beiji

6、ng,Tianjin,Shanghai)S3=str2mat(Beijing,Tianjin,Shanghai);S1=Beijing;Tianjin;Shanghai;S2=char(Beijing,Tianjin,Shanghai)S3=str2mat(Beijing,Tianjin,Shanghai);S1=Beijing Tianjin ShanghaiS1,S2,S3相同,均为 3行8列的字符矩阵%char及 str2mat自动补空格,且各串中间必须使用,号,不能用;分号,因函数参数之间要用,逗号%若用给字符矩阵赋值,需手动加空格二.字符串函数(strfun库)abs字符串到ASCI

7、I转换setstrASCII转换成字符串dec2bin十进制数到二进制字符串转换bin2dec二进制字符串转换成十进制数hex2num十六进制字符串转换成IEEE浮点数num2str数值转换成字符串int2str将数值取整后转换成字符串upper字符串转换成大写lower字符串转换成小写sprintf用格式控制,数字转换成字符串sscanf用格式控制,字符串转换成数字str2num字符串转换成数值,如0111:111str2mat字符串转换成一个字符矩阵下面介绍MATLAB中对字符串的几类常用操作方法。abs(abcd)ans=97 98 99 1001.abs函数:字符串到ASCII转换,即

8、查看ASCII值2.setstr函数:ASCII转换成字符串u=97 98 99 100y=setstr(u)y=abcd%把数字按照ASCII码构造为字符串向量3.char(97,98,99,100)【举例】4.num2str函数:num2str(97.7 98 99 100)ans=97.7 98 99 100数值矩阵转换成字符串矩阵【例】许多情况下,希望把一个数值嵌入到字符串中。%函数disp不显示变量名t,而直接显示变量所代表的字符串A circle of radius 2.5 has an area of 19.63.rad=2.5;area=pi*rad2;字符串转换函数可完成这个

9、任务t=A circle of radius,num2str(rad),has an area of,num2str(area),.;disp(t)5.bin2dec函数:二进制字符串转换成为十进制数6.str2num函数:字符串转换成为数值 bin2dec(1111)ans=15str2num(4.2)ans=4.20007.int2str函数:数值取整后转换成字符串int2str(97.7 98 99 100)ans=98 98 99 100%把数值取整后再转换为字符串isstr(a)%若变量a为字符串或字符矩阵时,输出为1;否则输出为08.isstr函数判断一个变量是否为字符串9.bla

10、nks函数用于定义空格符s=blanks(10)%s为字符串,其内容为10个空格10.deblank函数用于去除字符串尾部的空格(1)所有字符串都用单引号括起来。(2)字符串中的每一个字符(不是单词)都是该字符串变量(矩阵或向量)中的一个元素。每个字符都用8个字节来存储。(3)注意abs,bin2dec等字符串转换函数要求由字符串转为其他。总结:MATLAB中的字符串使用基本规则Xfram=0 1 1;NumTrans=bin2dec(num2str(Xfram_re);【例1】将已知二进制序列按每3位转为十进制数bin2dec要求对字符串进行转换【例2】要求把一个字符串转换成大写,不用upp

11、er 函数。(1)函数find用来找出小写字母的下标值;(2)小写元素减去32;(得出一个数)(3)用setstr把求得的数按ASCII码转换成字符串表示分析:s=If I have more time,;setstr函数:ASCII转换成字符串如何找出小写字母?s=If I have more time,;%定义字符向量s=IF I HAVE MORE TIME,i=Columns 1 through 14 2 6 7 8 9 11 12 13 14 16 17 18 19 20注意:i为索引值s(i)=setstr(s(i)-(a-A);%ASCII码转字符串%或s(i)=setstr(s(i)-32)si=find(s=a&s=a&s=z);s(i)=setstr(s(i)-(a-A)%ASCII码转字符串%s(i)=char(s(i)-(a-A)%或p(i)=setstr(s(i)-32)i=Columns 1 through 14 2 6 7 8 9 11 12 13 14 16 17 18 19 20注意:i为索引值s=IF I HAVE MORE TIME,Thank you for your cooperation

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 语文

Copyright@ 2020-2024 m.ketangku.com网站版权所有

黑ICP备2024021605号-1