MATLAB编程语言教程
这MATLAB编程语言教程matlab的基本知识,如何启动和退出matlab,流控制矩阵,数组、算术运算符、矩阵运算,负载功能,保存功能,绘制函数,在matlab脚本和函数和样本的matlab程序。
MATLAB的介绍
本节将介绍matlab的基本知识包括matlab的好处和matlab的应用。
MATLAB的基本知识
MATLAB是科学数值分析的编程语言。它广泛用于数学算法开发需要复杂的操作。它是由Mathworks公司(www.mathworks.com)美丽的matlab矩阵运算,数据操作和策划,与其他编程语言(FORTRAN、java、c、c++)。GUI的建立也可以借助matlab GUI工具,以方便用户与后台交互matlab代码。在matlab编程教程中我们将通过matlab编程语法和示例的matlab程序。
MATLAB的工作环境
本节讨论如何启动和退出matlab,加载/保存操作,情节/数据、脚本和函数,创建和使用数组、向量,矩阵。
如何启动和退出MATLAB
> >一个MATLAB可以开始使用在安装期间创建的快捷方式图标或程序文件。一旦MATLAB打开时,窗口下面的子窗口得到打开。
1。命令窗口
2。工作空间
3所示。命令历史记录
4所示。菜单/图标
> >退出MATLAB,在命令窗口中输入辞职或去文件>退出MATLAB。
加载/保存操作
> >保存matlab工作区.mat扩展使用的变量。
文件>保存或
保存功能
> >以其他格式保存.mat如.dat以外的使用适当的扩展
语法保存功能:
保存文件名- >用于保存所有工作空间变量指定的文件文件名
保存文件名var1 var2 - >用于保存var1和var2文件的文件名
保存……选项- >选项指定用于保存。
> >从文件加载matlab变量的matlab工作区使用。
文件>导入数据或
加载函数
语法负载功能:
加载文件- >从文件加载的所有变量matlab工作区。
负载文件名X Y Z - >加载变量X, Y, Z的matlab文件。
情节和人物,创建简单的2 d绘图
> >的人物和情节的函数用于绘制变量x, y, z坐标的基础上所需要的。
> >情节用于2 d绘图和plot3用于3 d绘图。
> >“网”和“meshc”3 d绘图函数非常有用。
脚本和函数
有两种方法。m文件创建不同的应用程序。脚本命令的集合存储为m文件,并将执行的所有命令序列存储在用户调用m文件时它的名称。脚本并不需要或返回任何参数和操作主要集中在matlab的工作区中可用的数据。Matlab函数可以和返回参数。局部变量也将本地定义各自的功能。可以定义全局变量在主。m文件。只是在命令提示符中输入“帮助”或者“帮助function_name”命令或函数的详细描述。
运营商和内置函数
本节包括算术运算符、关系运算符、逻辑运算符、内建函数,在MATLAB的输入和输出
算术运算符:
——减去
*用
/分
\左部
^权力或指数
“复共轭转置
()评估顺序表达式
关系运算符:
< =不到oe相等
> >
> =大于或等于
= = =
~ =不等于
逻辑运算符:
|逻辑或
~逻辑补充(不)
xor异或
重塑
总和
rot90
转置
诊断接头
fliplr
flipud
参考以下链接MathWorks公司知道许多这样的MATLAB提供的功能。
https://www.mathworks.in/help/matlab/functionlist.html
在MATLAB控制流
本节讨论While循环,if - else if - else语句和循环。
if语句
M =总和(a, b)
elseif气孔导度= 2
M =相乘(a, b)
其他的
M =除以(a, b)
结束
switch语句
案例1
M =总和(a, b)
案例2
M =相乘(a, b)
案例3
M =除以(a, b)
否则
错误(这是不可能的)
结束
for循环
j = 1: n
H (i, j) = 1 / (i + j);
结束
结束
在声明中
虽然cond1 > cond2
我=我+ 1;
结束
继续和打破语句也使用类似的用于C编程语言。
矩阵和向量
本节将介绍创建矩阵和向量索引矩阵,矩阵的初始化和重塑和操纵。
矩阵和数组
将存储在matlab矩阵工作区,4 * 4矩阵(4行3列)将如下所示。
1 2 3
5 6 7
9 10 11
13日14日15
(i, j)将提取i行和第j列元素。
例如(2,2)= 6。
(:1)表示所有的行1列。
(2:3,2)代表第二和第三行第二列。
矩阵与单行称为数组。下面是5个元素数组的例子。
一个= (1 2 3 4 5);
矩阵运算
a - b - >两个矩阵的减法
A * B - >两个矩阵的乘法
一个。* B - >乘法的两个矩阵的元素
A / B - >两个矩阵分工,由于B / A等于B *发票的结果(一)
一个。数组/ B - >正确的部门,应该同样大小的A和B
A \ B - >左两个矩阵,结果发票\ B =结果的(一个)* B,
一个。\ B - >阵列离开部门,应该同样大小的A和B
x ^ P - >如果x标量和P矩阵,x ^ P是提高使用特征值和特征向量的矩阵幂P。如果两者都是矩阵,将导致错误。
一个。^ B - >数组
“- >矩阵的转置
一个。”——>数组转置
“长度”和“大小”功能将矩阵/数组的维度。
在MATLAB和细胞结构
本节将介绍创建/操作结构和创建/操纵细胞。
结构会有几个字段,几个字段将不同类型的数据。个字段必须包含相同类型的数据。
我们将看到的例子结构的名字“Springsem”领域的课程和成绩,如下所示。
Springsem。得分= (70 80 90);
类型后,在命令提示符处将产生的所有字段的结构。
> > Springsem
Springsem =
课程:“女士”
分数(70 80 90):
一个细胞是最多才多艺的MATLAB数据对象。它可以包含任何类型的数据例如,数组,字符串,结构或细胞。让我们创建一个单元如下提到的。
%细胞(2)将做同样的事情
C(1, - 1) =兰德(2);%将在第一箱2 x2随机矩阵
C(1、2) =字符(“汉”、“约翰”);%第二盒子里放一个字符串数组
C (2, 1) = Springsem;% 3盒放一个结构
C(2, 2) =细胞(2,2);% 2 x2细胞4盒
样大的matlab程序
本节将介绍大型MATLAB程序使用多个m文件的例子
这个程序添加各种障碍(频率偏移情况下,瑞利信道和直流偏置)理想的调制数据和情节星座图。
主要。m - >主matlab文件
frequency_offset - >将把频率偏移的输入向量
wimax_mapping - >将输入二进制向量转换为复杂数据输出基于调制方案选择
主要的运行。m文件,看看结果。
mod =输入(“正交相移编码为bpsk输入1,2,4 16 qam, 6 64 qam:”);
如果mod = = 1
c1 = sqrt (1);
elseif mod = = 2
c1 = sqrt (1/2);
elseif mod = = 4
c1 = sqrt (1/10);
elseif mod = = 6
c1 = sqrt (1/42);
其他printf(“错误的条目”);
结束
%这一部分将生成二进制向量按长度由用户输入
data =地板(兰德(len) + 0.5);
%二进制数据的映射
mapper_out = wimax_mapping(数据”,国防部,c1);
图;情节(真实(mapper_out),图像放大(mapper_out), r +);标题(“理想的星座”);
%增加情况下
信噪比=输入(输入信噪比:”);
map_out_awgn = awgn (mapper_out、信噪比、“测量”);
图;情节(真实(map_out_awgn),图像放大(map_out_awgn), r +);标题(“星座与添加AWGN”);
%增加频率偏移
foff =输入(输入频率偏移:”);% = 10 e3;%赫兹
foff = (foff) / 20 e6;% 20 mhz带宽的系统
map_out_foff = frequency_offset (mapper_out foff);
图;情节(真实(map_out_foff),图像放大(map_out_foff), r +);标题(“星座与频率偏移”);
%增加瑞利信道
选择=输入(输入1应用渠道,其他没有。绕过:“);% 10 Hz;样本时间= 0.1 e - 3;
如果选择= = 1)
ts = (256/4e6);
多普勒= 0.1;
τ= (0.0 0.4 0.9);
pdb = [0 -15 -20];
陈= rayleighchan (ts、多普勒、τ,pdb);
% TS的样品时间输入% 0.1 e - 3;
%的信号,在几秒钟内。FD是最大的多普勒频移,赫兹。% 100赫兹
mapper_out map_out_chl =过滤器(chan);
图;情节(真实(map_out_chl),图像放大(map_out_chl), r +);标题(“星座与通道”);
其他的
disp(没有通道应用进行直流偏置);
结束
%增加直流偏置
DCO =输入(输入直流偏置:”);% 2.5;
% map_out_dc =(真实(mapper_out) + DCO) + i *(图像放大(mapper_out) + DCO);
map_out_dc = mapper_out * DCO;
图;情节(真实(map_out_dc),图像放大(map_out_dc), r +);标题(“星座与直流偏置”);
%图;情节(abs (fft (mapper_out, 256))),标题(“理想谱”);
%图;情节(abs (fft (map_out_dc, 256))),标题(“频谱与直流偏置”);
函数(d1) = frequency_offset (d1,首席财务官)
m =长度(d1);
d1 = d1。* exp(我* 2 *π* (0:m - 1) *首席财务官);
函数[map_out] = wimax_mapping(数据、模式)
input_seq =数据;
开关模式
案例1
b =事实* [1];
案例2
b =事实*(1 + 1我1 + 1 1-1i 1-1i);
例4
b =事实*(1 + 1我1 + 3 1-1i 1-3i 3 + 1我3 + 3 3-1i 3-3i 1 + 1我1 + 3 1-1i 1-3i 3 + 1我3 + 3 3-1i 3-3i);
案例6
b =事实*(3 + 3我3 + 1 3 3 + 7 + 5我3-3i 3-1i 3-5i 3-7i 1 + 3我1 + 1 1 1 + 7 + 5我1-3i 1-1i 1-5i 1-7i 5 + 3我5 + 1 5 5 + 7 + 5我5-3i 5-1i 5-5i 5-7i 7 + 3我7 + 1我7 + 5 7 + 7 7-3i 7-1i 7-5i 7-7i 3 + 3我3 + 1 3 3 + 7 + 5我3-3i 3-1i 3-5i 3-7i 1 + 3我1 + 1 1 1 + 7 + 5我1-3i 1-1i 1-5i 1-7i 5 + 3我5 + 1 5 5 + 7 + 5我5-3i 5-1i 5-5i 5-7i 7 + 3我7 + 1我7 + 5 7 + 7 7-3i 7-1i 7-5i 7-7i);
否则错误(“错误的选择”);
结束
数= 1;
count1 = 1;
因为我= 1:(装天花板(长度(input_seq) /模式)
temp = 0;
j = 1:模式
temp = bitor(临时bitshift (input_seq(计数),(j - 1)));
数=计数+ 1;
如果(数>长度(input_seq))
打破;
结束
结束
map_out (count1) = b(温度+ 1);
count1 = count1 + 1;
结束
有用的MATLAB源代码的链接
MATLAB源代码部分射频无线世界网站涵盖了MATLAB编码在图像处bet188金宝搏理、信号处理和通信领域。

请参考➤OFDM Tx Rx MATLAB代码&MATLAB源代码部分。
更多的MATLAB源代码链接:-分减少地表铺面OFDM序言代时间估计corr频率下估计corr信道估计11 WLAN通道11 g WLAN通道15.3超宽频通道15.4超宽频通道16 d隋频道16 e wimax通道Rician通道瑞利信道SC-FDMAPN序列生成三维绘图我下午调频调制OFDMA Tx的处方AES DES载波聚合CCDF冷杉过滤器IIR滤波器低通冷杉维特比译码器CRC8 CRC32