matlab | 常用语法

if语句

多个条件同时满足:
if (a>0 && b<0)

if(a=0)
这样是会报错的,等号属于变量赋值,若要比较值是否相等,请使用==
if(a==0)

不等式

大于等于;在matlab中用>=表示,小于等于用<=

矩阵的表示

用法一:

矩阵A第三列第五行:

A(3,5)

用法二:

A(:, 1)与A(1, : )

  • A(x,y)表示二维矩阵第x行第y列位置的元素,x为:则表示所有的行。因此,A(:,1)就表示取出A的第1列的所有行的元素,这是一个列向量。
  • A(1, : )就表示取出A的第1行的所有列元素,这是一个行向量。

实例
ph是一个512*512的矩阵,输入以下代码,意味着,取出第257行所有元素。

ph(257,:)

结果如下演示:
ph矩阵
ph(257,:)的结果如下

用法三:查找矩阵最大值max(max())

语法max(max(a)),对于矩阵,得到的是矩阵中的最大值。

用法四:提取某几行到某几列

1.算法:a(:,1:2):

分析:其中第一个:表示矩阵所有行,1:2表示提取矩阵的1,2列。

  1. 算法:a(2:4, 😃
    分析:提取矩阵的2-4行。

用法五: 矩阵归一化[0,255]

可将矩阵数据为[0,0.5094]归一化为[0,255]

function OutImg = Normalize(InImg)
% 此函数用于将矩阵数据归一化到[0,255]
ymax=255;ymin=0;
xmax = max(max(InImg)); %求得InImg中的最大值
xmin = min(min(InImg)); %求得InImg中的最小值
OutImg = round((ymax-ymin)*(InImg-xmin)/(xmax-xmin) + ymin); %归一化并取整
end

用法六 等差数列生成

x=[-L/2:L/N:L/2-L/N]; 表示生成一个等差数列,首项为-L/2,末项为L/2-L/N,公差为L/N

linspace用法

用法:linspace(x1,x2,N)

功能:linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。在matlab的命令窗口下输入help linspace或者doc linspace可以获得该函数的帮助信息。
例如:
在matlab的命令窗口输入:

   X=linspace(1,100)

将产生从1到100步长为1的数组。类似于在命令窗口中输入:

 X=[1:1:100]

matlab复数相关函数

angle函数

作用:对于复数,angle()是求相位角,取值范围是(-pi,pi)
用法:p=angle(z)

for循环语句

for i=a:b:c

其中的a是i的初始值,c是终止值,b是步长;

········持续更新中········
posted @ 2022-02-20 20:13  简单光学  阅读(690)  评论(0编辑  收藏  举报