matlab的入门教程

file:///C:/Users/Administrator/AppData/Local/Temp/Rar$EXa916.10783/Class_1_Code/html/Example_1.html#29

file:///C:/Users/Administrator/AppData/Local/Temp/Rar$EXa9320.46012/Class_1_Code/html/Example_1.html

在matlab中用(%%和一个空格)来注释一行;

I. 清空环境变量及命令

clear all   % 清除Workspace中的所有变量
clc         % 清除Command Window中的所有命令

 II. 变量命令规则

1. 变量名区分大小写

2. 变量名长度不超过63位 

3. 变量名以字母开头,可以由字母、数字和下划线组成,但不能使用标点 

4. 变量名应简洁明了,通过变量名可以直观看出变量所表示的物理意义

III. MATLAB数据类型

1.数字

matlab的入门教程_第1张图片

2. 字符与字符串

matlab的入门教程_第2张图片

 【注】1>  abs(s)——执行ASIIC码(所在位置)

            2>  char(97)——字符串

            3>  num2str()——把数值转为字符串

            4>  length()——计算字符串长度             %如laba=(‘abc’);则L=length(laba)输出3

3.矩阵

A = [1 2 3; 4 5 2; 3 2 7]
B = A'                                %% A'代表A转置
C = A(:)                              %% 把矩阵竖着拉长(多列排成一列)
D = inv(A)                            %% 求逆矩阵
A * D                                 %% A乘D矩阵

E = zeros(10,5,3)                     %% 10行5列3维的零矩阵
E(:,:,1) = rand(10,5)
E(:,:,2) = randi(5, 10,5)             %% randiiMaxmn),第二层生成0-5的伪随机整数
                                         (10行5列) 
                                         r = randi([iMin,iMax],m,n)在,生成的是min到max的    
                                         mXn的伪随机整数

E(:,:,3) = randn(10,5)                %% 正态分布的伪随机数(均值伪0,方差伪1)

 matlab的入门教程_第3张图片

 4. 元胞数组

A = cell(1, 6)                 %生成1行6列的元胞数组
A{2} = eye(3)                  %元胞数组的第二个“盒子”里放入3阶单位阵
A{5} = magic(5)                %5阶幻方(横着,竖着,斜着相加都相等)
B = A{5}                       %把元胞数组的第五个“盒子”给B                         

5. 结构体

books = struct('name',{{'Machine Learning','Data Mining'}},'price',[30 40])
           %生成一个结构体,其中name: {'Machine Learning'  'Data mining'}且price: [30 40]

books.name       %读出结构体中的name的内容
books.name(1)    %读出结构体中的name的第一个内容(此时是元胞数组),  {'Machine Learning'}
books.name{1}    %读出结构体中的name的第一个内容(此时是字符串),     'Machine Learning'

IV. MATLAB矩阵操作(重点)

1. 矩阵的定义与构造

A = [1 2 3 5 8 5 4 6]
B = 1:2:9                               %% 输出1到9,步长为2(步长为1时可省略)
C = repmat(B, 3, 1)                     %% 横着复制B3次,竖着复制1次
D = ones(2, 4)                          %%生成2行4列的全1矩阵

2. 矩阵的四则运算

A = [1 2 3 4; 5 6 7 8]
B = [1 1 2 2; 2 2 1 1]
C = A + B
D = A - B
E = A * B'                               %% E=A乘B转置
F = A .* B                               %% 矩阵对应点相乘
G = A / B                                %% G相当于A乘B逆,(invB),也相当于 G * B = A
H = A ./ B                               %% 矩阵对应点相除

3. 矩阵的下标

A = magic(5)                             %% 随机生成一个5阶幻方
B = A(2,3)                               %% B=A的第二行第3列的数  
C = A(3,:)                               %% 冒号代表全部
D = A(:,4)
[m, n] = find(A > 20)                    %%找出矩阵中大于20的元素所在位置(以m和n来呈现)

V. MATLAB逻辑与流程控制

1.if循环

matlab的入门教程_第4张图片

1.1 if分支结构(if为真执行if内的内容,为假则跳过执行下面语句)

matlab的入门教程_第5张图片

 1.2if...else...end结构

matlab的入门教程_第6张图片

2.for循环结构
matlab的入门教程_第7张图片

matlab的入门教程_第8张图片

 matlab的入门教程_第9张图片

3.while循环结构
matlab的入门教程_第10张图片

matlab的入门教程_第11张图片

4.switch...case...end(用得少)

matlab的入门教程_第12张图片

matlab的入门教程_第13张图片

VI. MATLAB脚本与函数文件

matlab的入门教程_第14张图片

VII. MATLAB基本绘图操作

1. 二维平面绘图

x = 0:0.01:2*pi;
y = sin(x);
figure
plot(x, y)                       %建立2维图像
title('y = sin(x)')
xlabel('x')                    %给x轴建立标签
ylabel('sin(x)')
xlim([0 2*pi])                 %限制x只显示0-2*pi


x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
figure
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');             %在同一个图上显示两个图像            
set(get(AX(1),'Ylabel'),'String','Slow Decay')     %给图像1设标签
set(get(AX(2),'Ylabel'),'String','Fast Decay')     %给图像2设标签
xlabel('Time (\musec)')
title('Multiple Decay Rates')
set(H1,'LineStyle','--')                           %改变图像1的线段样式
set(H2,'LineStyle',':')                            %改变图像2的线段样式

2. 三维立体绘图

t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)                       %建立3维图像
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
grid on                                      %背景构造小方格
axis square                                  %显示为正立体图形

你可能感兴趣的:(matlab)