matlab学习1

matlab基础知识

常用坐标系:

1、矩阵坐标系:坐标原点定位在左上角,一幅图像A(i,j),j表示行,垂直向下;i表示列,水平向右。
2、直角坐标系:坐标原点定位在左下角,一幅图像f(x,y),y表示行,垂直向上;x表示列,水平向右。
3、像素坐标系:坐标原点定位在左上角,一幅图像f(x,y),y表示行,垂直向下;x表示列,水平向右。

常用数字图像格式:

JPEG格式、GIF格式、TIFF格式、PNG格式、BMP格式

命令窗口中常用命令:

| ans | 最近运算的结果 |
| clc | 清除命令窗口所有的内容 |
| clear | 清除工作区的变量,释放空间 |
| clf | 清除当前图形窗口的内容 |
| close | 关闭指定的图形窗口,如close all |
| diary | 保存命令窗口文本到文件 |
| format | 设置命令窗口输出显示格式,如fromat long |
| help | 调用帮助文件或某函数的主要内容,如help clc |
| home | 移动光标到命令窗口左上角,历史命令可用滚动条向上查看 |
| load | 从文件导入变量到工作区,如load_sumsim |
| more | 控制命令窗口页面输出:more on,一次输出一个页面;more(n),设置一页n行;more off,取消按页面输出 |
| save | 保存工作空间变量到文件,如save test.mat |

工作区窗口显示当前工作区内的变量

matlab数据类型(16种)

数值型数据(10种)

1、整型数据(8种)

| 名称 | 含义 | 数值范围 | 转换函数 |
| int8 | 有符号8位整型 | -27~27-1 | int8(x) |
| int16 | 有符号16位整型 | -215~215-1 | int16(x) |
| int32 | 有符号32位整型 | -231~231-1 | int32(x) |
| int64 | 有符号64位整型 | -263~263-1 | int64(x) |
| uint8 | 无符号8位整型 | 0~2^8-1 | uint8(x) |
| uint16 | 无符号16位整型 | 0~2^16-1 | uint16(x) |
| uint32 | 无符号32位整型 | 0~2^32-1 | uint32(x) |
| uint64 | 无符号64位整型 | 0~2^64-1 | uint64(x) |

clc,clear,close all;%清空命令窗口,清楚工作区变量,关闭所有图形窗口
X=2023;        %设置数值型变量X,默认为double型
X1=int8(X);    %强制转换为8位有符号整型数据
X2=int16(X);   %强制转换为16位有符号整型数据
X3=uint8(X);   %强制转换为8位无符号整型数据
X4=uint16(X);  %强制转换为16位无符号整型数据
2、浮点型数据(2种)
单精度single:

数据存储占用32位,最高位为符号位,3023位为整数部分,220位为小数部分

双精度double:

数据存储占用64位,最高位为符号位,6252位为整数部分,510位为小数部分

clc,clear,close all;
X=2023.1;        %设置数值型变量X,默认为double型
Y=single(X);     %强制转换为single型数据
I=int16(X);      %强制转换为int16型数据
Z=pi+i;         %为复数,取值为圆周率+虚数单位,即3.1416+1.0000i
eps              %从1.0到下一个最大的双精度数的距离
取整运算

| Y=floor(X) | |
| Y=ceil(X) | |
| Y= fix(X) | |
| round()函数 | 向最近的整数取整,即四舍五入的方法 |
| round(X) | 将X的每个元素取整到最近的整数 |
| round(X,N) | 若N>0,舍入到小数点右侧的第N位数;若N=0,舍入到最近的整数;若N<0,舍入到小数点左侧的第N位 |
| round(X,N,'significant') | 指定四舍五入的类型,即指定‘significant’以四舍五入为N位有效数,N必须为正整数 |

clc,clear,close all;
X=3.667;
X1=floor(X);                 %向下取整
X2=ceil(X);                  %向上取整
X3=round(X);                 %四舍五入取整
X4=round(X,3,'significant'); %保留3位有效数字

逻辑型数据

有true和false两种取值,用logical表示

clc,clear,close all;
X=2023;
X1=logical(X);  %强制转换为logical型数据
X2=X<X1;        %关系运算<,返回值为logical型
X3=true;       %定义logical型数据,取值为1
X4=false(3);    %定义logical型3*3矩阵,取值全为0

字符型数据

字符数组与字符串数组的创建与连接

字符数组通常是用单引号括起来的一个短文本串,从R2017a版本开始,可以使用双引号创建字符串,可以使用string函数将字符向量转换为字符串数组

clc,clear,close all;
A=["Image","processing"] %定义字符串数组(双引号)
B=join(A," ")            %将A合并为一个新的字符串数组,两个元素用空格分隔
C='is interesting'       %定义字符数组(单引号)
D= string(C)             %转化为字符串数组
str=strcat(B,D)          %水平连接字符串
查找替换和比较
clc,clear,close all;
str="Image processing is very interesting";
pattern="ing";
TF=contains(str,pattern);         %判断str中是否包含pattern
number=count(str,pattern);        %统计str中pattern出现几次
k=strfind(str,pattern);           %在str中搜索pattern出现的起始索引
newStr=replace(str,'very','not'); %查找‘very’并替换为‘not’
tf=strncmp(str,newStr,20);        %比较str和newStr的前20个字符
数据类型转换
clc,clear,close all;
X1=int2str(2023);        %整型转换为字符数组
A=[2023 1 25];           %定义数值数组A
X2=num2str(A);           %数值数组转换为字符数组
X3=str2double('2023.1'); %将文本转换为double型数据
X4=str2num(X2);          %字符数组转换为数值数据

表格型数据

元胞数组型数据

结构体型数据

函数句柄型数据

posted @ 2023-03-11 21:55  Ericup  阅读(98)  评论(0)    收藏  举报