MATLAB刚学,算了个东西报错了,不太理解它的意思,是t的问题么,要怎么改呢,程序见图?

 注意:MATLAB中的常量是可以重新赋值的,但不建议重新赋值

以字母开头,字母、数字和下划线的组合,且区分大小写

变量类型:数值型、符号型、字符串型、其他(多维数组、单元数组、类和对象)

ans :系统变量,存放最近一次的结果

加(+)、减(-)、乘(*)、除(/)、乘方(^)

清屏,且清变量(可以指定变量)

% :加在前面是注释单行,加在后面是解释单行

Ctrl+R :一段程序加注释

Ctrl+T:一段程序解除注释

%% :将程序分为两节

用括号[ ] 建立矩阵,在一行内个数值之间可用空格或者逗号隔开,而行与行之间则用分号隔开

向量可以看成特殊的矩阵,行向量和列向量输出时:

表示:以s1为起始值,s2为步长,每隔一个s2取一个值,直至不超过s3 的最大值,生成一个行向量,缺省s2 的值为1

A( 要访问的行,要访问的列)

首先要提取需要赋值的部分,然后用相同位数的新矩阵对其重新赋值即可

返回行数和列数: 

size(a,1):返回a的行数

size(a,2):返回a的列数

imread :函数用来实现图像文件的读取

imshow:函数来显示图像

imwrite:函数用来实现图像文件的写入

imfinfo:函数用来查询图像文件信息

MATLAB 中的基本数据结构是由一组有序的实数或复数元素构成的数组,同样地,图像
对象的表达采用的是一组有序的灰度或彩色数据元素构成的实值数组。MATLAB 中通常用二
维数组来存储图像,数组的每个元素对应于图像的一个像素值。例如,由 200 行和 300 列的
不同颜色点组成的一幅图像在 MATLAB 中采用 200*300 的矩阵存储

一幅图像可以被定义为一个二维函数 f(x,y),其中 x 和 y 是空间(平面)坐标,f 在任何
坐标处(x,y)处的振幅称为图像在该点的亮度

灰度是用来表示黑白图像亮度,0 代表纯黑,255代表纯白,而
彩色图像是由单个二维图像组合形成的。例如,在 RGB 彩色系统中,一幅彩色图像是由三
幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩
色图像处理,方法是分别处理三幅独立的分量图像即可。
图像关于 x 和 y 坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字
化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图
所示。因此,当 f 的 x、y 分量和振幅都是有限且离散的量时,称该图像为数字图像。

根据图像数据矩阵解释方法的不同,MATLAB 把其处理为 4 类:

一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。若亮度图像的像素都是 uint8
则像素取值就是浮点数。规定双精度型归一化亮度图像的取值范围是[0 1]

一幅二值图像是一个取值只有 0 和 1 的逻辑数组。而一幅取值只包含 0 和 1 的 uint8 类
数组,在 MATLAB 中并不认为是二值图像。使用 logical 函数可以把数值数组转化为二值数
组或逻辑数组。创建一个逻辑图像,其语法为:
其中,B 是由 0 和 1 构成的数值数组。
要测试一个数组是否为逻辑数组,可以使用函数:
若 C 是逻辑数组,则该函数返回 1;否则,返回 0。

索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选用的
一组颜色也很有限,索引颜色的图像最多只能显示 256 种颜色。
一幅索引颜色图像在图像文件里定义,当打开该文件时,构成该图像具体颜色的索引值
就被读入程序里,然后根据索引值找到最终的颜色。

一幅 RGB 图像就是彩色像素的一个 M×N×3 数组,其中每一个彩色相似点都是在特定
空间位置的彩色图像相对应的红、绿、蓝三个分量。按照惯例,形成一幅 RGB 彩色图像的
三个图像常称为红、绿或蓝分量图像。
令 fR,fG 和 fB 分别代表三种 RGB 分量图像。一幅 RGB 图像就利用 cat(级联)操作
将这些分量图像组合成彩色图像:
在操作中,图像按顺序放置。

2、图像和数据间的转化

将RGP图片转换成灰度图片:
 

a(1:2:end,1:2:end):矩阵的行和列每隔一行取一个,实现压缩四倍

a(横坐标,纵坐标) 

如题:该点的横坐标为57,纵坐标为177 

原理:用局部像素的均值来代替该区域的像素值

先根据横纵坐标描点,然后将相邻的两个点用直线相连

plot(x,y):x和y为长度相同的向量,分别存储x坐标和y坐标数据

1、直角坐标系下显函数绘图

2、 直角坐标系下参数方程所确定函数的绘图

4、直角坐标系下隐函数绘图

ezplot - (不推荐)易用的函数绘图函数 



如果要绘制的表达式使用赋值运算符(=),相等关系运算符(==)或多个变量,请使用fimplicit函数而不是ezplot。 否则,请使用fplot而不是ezplot。
fplot和fimplicit都要求要绘制的输入函数是函数句柄。 ezplot函数接受函数句柄或字符向量。

一张画布上生成多个图像:

(8)subplot (m,n,p) :将图形窗口分为m*n个绘图区,即m行,n列,区号按行优先编号,选定第p个区为当前活动区,每个绘图区单独绘制图形 。

 MATLAB 还可以绘制其他很多图形,例如:直方图、散点图、柱状图、饼图、登高线图、热图等

可以输入:查看图形种类以及相关使用方法

1、在MATLAB中新建脚本文件

3、保存脚本,脚本名字必须函数名

4、在其他程序中调用此函数,调用格式为:

  [输出变量列表] = 函数名(输入变量1,输入变量2,........)

% 根据输入的两个同形矩阵A和B,分别计算A+B、A-B、A.*B

注释: i是循环变量,V是一个向量,i在V中不断地取值,每取一个值就执行一次循环体的内容  

注:条件是一个逻辑表达式,放弃值为真时,执行结构体,直到其值为假时结束  

注:当条件满足执行命令组1,当条件不满足时执行命令组2  

注:当条件满足执行命令组1时,当条件不满足时什么都不执行

注:表达式必须是标量和一个字符串:当表达式与表达式1相同时,运行语句1,当表达式与表达式2相同时,运行语句2,以此类推。当与所有的表达式都不同时,运行语句n+1

跳出循环体,但只能跳出一层循环,当有多层循环时,只能跳出包含break的最内层循环 

终止当次循环中余下的语句,机型下一次循环

所有余下命令均不执行,终止程序

1、元胞数组是matlab中的一种特殊数据类型

2、可以看做一种无所不包的通用矩阵,元胞数组中的元素称为元胞或者单元,可以是任何一种数据类型的数据

3、元胞数组中的每一个元素可以具有不同的尺寸。可以占用不同的内存空间

4、元胞数组的内存空间可以动态分配

左边{} ,右边为内容

左边(), 右边{内容}

3、使用{}直接创建所有的元胞数组的所有单元

1、用()将下标括起来访问其单元的大小和数据类型

2、用{}将下标括起访问其单元内容

3、用celldisp()对其元胞数组的所有内容进行访问

2、cell:创建空的元胞数组

3、cellplot:利用图形方式显示内容

4、cell2mat:将数组转变为普通的矩阵

filename:文件名字,单引号括起

sheet:工作变得名字或者编号,例如:sheet1,或者1

xlRange:工作表中的指定区域,例如:A2:D5

num:存储工作表中的数值数据,为一个矩阵

txt:存储工作表中的文本数据,为一个元胞数组

raw:存储工作表中的数值数据和文本数据,为一个元胞数组

注意:写入Excel时,被写入的文件不能被打开,否则会出现错误提示“不可写”

axes('Position',[0.5,0.6,0.3,0.3]); %在当前图窗中创建默认的笛卡尔坐标区,并将其设置为当前坐标区,将坐标系的左下角作为(0,0),横纵坐标各为1

在当前图窗中创建默认的笛卡尔坐标区,并将其设置为当前坐标区。通常情况下,您不需要在绘图之前创建坐标区,因为如果不存在坐标区,图形函数会在绘图时自动创建坐标区。

此 MATLAB 函数 在二维坐标中创建一个矩形。将 pos 指定为 [x y w h] 形式的四元素向量(以数据单位表示)。x 和 y 元素确定位置,w 和 h 元素确定大小。函数在当前坐标区中绘制图形,而不清除坐标区中的现有内容。

}

[版权声明] 本站所有资料由用户提供并上传,若内容存在侵权,请联系邮箱。资料中的图片、字体、音乐等需版权方额外授权,请谨慎使用。网站中党政主题相关内容(国旗、国徽、党徽)仅限个人学习分享使用,禁止广告使用和商用。

}

我要回帖

更多关于 不太重要的东西忘拿用不用拐回去拿 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信