数字图像处理——MATLAB基础(持续更新)

matlab概述

命令窗口------基本的命令操作

1、声明matlab是对大小写敏感的。

2、clc命令表示清除命令行窗口显示的内容,而不清除工作区的值。而clear是用来清除工作空间的变量,clear直接使用清除工作空间所有变量,clear+变量名 清除指定变量。举个例子(注意观察工作区与命令行窗口的变化):
清除之前
使用clc清除之后
使用clear清除之后

3、使用⬆调回已输入的命令 。

4、who与whos命令是用来显示工作空间的变量,who用来显示工作空间的变量名,whos用来显示工作空间变量的详细信息,如下图所示:

常见通用命令总结(也不是所有都要记,记住常用的就可以了):

其中help通常使用matlab左上角的(虽然是全英的,但是还是官方文档更可靠,也更方便,不要总是百度一下,要上研究生的就更要适应读全英文档,因为第一手科技论文,基本是英文。别问我怎么知道的,我们老师讲的),如下图:

注意:当前目录窗口:指的是matlab运行时的工作目录,并且只有在当前目录下和搜索庐江下的文件、函数才可以被运行和调用,如下图:
当前目录

搜索路径: 指Matlab执行过程中对变量、函数和文件进行搜索的路径。

在File菜单中选择Set Path命令或在命令窗口输入pathtool命令,出现搜索路径设置对话框:

功能演示

1、求解如下方程的根(只有红色框里的两条命令):

2、求解如下线性方程组 (只有红色框里的三条命令):

注:inv()函数是矩阵的逆矩阵。

第二种方法,符号计算:

3、求解如下定积分:

4、多项式曲线拟合:

考虑如下x-y一组实验数据:x = [1,2,3,4,5,6,7,8,9,10] y = [1.2,3,4,4,5,4.7,5,5.2,6,7.2]

数值表示、变量及表达式

matlab预定义的变量:

运算符和表达式:

注:对于矩阵而言,左除和右除不同。 乘(*)和点乘(.*)不同,前者对于矩阵就是按照矩阵乘法运算来说,后者就是对应元素相同。因此也有条件的限制,前者的矩阵1的列数和矩阵2的行数相同才可以;后者就是维度完全一致。

优先级:幂最高,然后乘除,再然后加减,如果实在记不住,使用括号。

复数及其运算:

matlab数据及其运算------其中的数据为矩阵

matlab矩阵的表示

我们熟悉的坐标系的原点位于坐标轴的左下角,以(0,0)开始,但是在matlab中坐标轴的原点位于左上角,以(1,1)开始。

数组的概念:

一维:向量vector

二维:矩阵matrix

三维:张量tensor

一维数组的创建

1、使用方括号'[ ]'操作符,向量元素之间使用英文逗号隔开或者使用空格隔开。

2、使用冒号操作符,语法:x = start:increment:end。其中increment即可为正也可为负,当其为负时,start必须大于end,反之同理。

3、利用函数linspace函数,语法:x=linspace(start,end,n)其中start为第一个元素,end为最后一个元素,该函数会生成一个数量为n的数组,其中每个数组之间的间隔是相同的,即生成一个等差数列。

4、使用函数logspace函数, 语法logspace(a,b,n),表示生成长度为n的向量,范围时10^a到10^b。

5、列向量的创建,使用方括号时,使用分号分割行。或者使用 ' 将矩阵进行转置。

二维数组的创建

1、由向量构成数组

2、函数方法:

(1) ones函数生成全为1的矩阵,zeros函数生成全为0的矩阵。

(2)reshape函数,注意元素的排列顺序,从上到下按列排列,并且要求元素总数不变。

字符串

如果需要查找有关字符串的内容,可以在命令窗口输入命令help strfun或者help strings。

在matlab中使用单引号来界定一个字符串,可以使用方括号 [ ] 直接连接多个字符串变量,得到一个新字符串变量。并且注意在matlab中,一个字符串被视为一个行向量,字符串中的每个字符包含空格,都以ASCII码的形式存放在行向量中。

可以使用length的命令计算字符串的长度:

数组元素的标识与寻访

1、全下标寻址

2、单下标寻址(方便)

可以自己敲代码试试,第三个元素是多少,看看自己的猜测是否正确?

注意括号的使用

可以敲代码试试不同单下标寻址的方法

并且只要下标值不超过维度,数组元素可以被任意重复访问

根据单下标寻址方法修改对应元素的值

相关推荐
软件算法开发6 分钟前
机器人路径规划和避障算法matlab仿真,分别对比贪婪搜索,最安全距离,RPM以及RRT四种算法
matlab·机器人·rpm·路径规划·rrt·贪婪搜索·最安全距离
Zilliz Planet6 分钟前
Milvus×EasyAi:如何用java从零搭建人脸识别应用
java·开发语言·milvus
积兆科技9 分钟前
从汽车企业案例看仓网规划的关键步骤(视频版)
人工智能·算法·汽车·制造
天天进步201513 分钟前
Java全栈项目 - 汽车维修服务管理平台
java·开发语言·汽车
qq_4305839724 分钟前
QT笔记- QTreeView + QFileSystemModel 当前位置的保存与恢复 #选中 #保存当前索引
开发语言·笔记·qt
大白熊科研绘图26 分钟前
绝美的数据处理图-三坐标轴-散点图-堆叠图-数据可视化图
matlab·数据可视化
Crossoads31 分钟前
【汇编语言】外中断(一)—— 外中断的魔法:PC机键盘如何触发计算机响应
android·开发语言·数据库·深度学习·机器学习·计算机外设·汇编语言
Zik----33 分钟前
Anaconda搭建Python虚拟环境并在Pycharm中配置(小白也能懂)
开发语言·人工智能·python·机器学习·pycharm
Lenyiin39 分钟前
01.01、判定字符是否唯一
算法·哈希算法
凯子坚持 c40 分钟前
解锁仓颉编程语言的奥秘:枚举类型、模式匹配与类接口全解析
开发语言·华为·harmonyos