数字图像处理——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、单下标寻址(方便)

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

注意括号的使用

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

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

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

相关推荐
倒头就睡的小比特2 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
猎头南楼2 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
旖旎夜光2 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark2 天前
大规模并行计算中的负载均衡算法研究4
算法
Because_of_Her12 天前
并查集-听课笔记
笔记·算法·并查集
霍霍的袁2 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
码流子2 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构