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

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

注意括号的使用

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

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

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

相关推荐
huapiaoy2 分钟前
Redis中数据类型的使用(hash和list)
redis·算法·哈希算法
liu_chunhai6 分钟前
设计模式(3)builder
java·开发语言·设计模式
姜学迁14 分钟前
Rust-枚举
开发语言·后端·rust
冷白白15 分钟前
【C++】C++对象初探及友元
c语言·开发语言·c++·算法
凌云行者19 分钟前
rust的迭代器方法——collect
开发语言·rust
It'sMyGo22 分钟前
Javascript数组研究09_Array.prototype[Symbol.unscopables]
开发语言·javascript·原型模式
鹤上听雷24 分钟前
【AGC005D】~K Perm Counting(计数抽象成图)
算法
睡觉然后上课33 分钟前
c基础面试题
c语言·开发语言·c++·面试
一叶祇秋36 分钟前
Leetcode - 周赛417
算法·leetcode·职场和发展
qing_04060340 分钟前
C++——继承
开发语言·c++·继承