目录

​0 主要内容​

​1 MATLAB的发展  ​

​2 MATLAB的优点​

​3 MATLAB的工作环境 ​

​3.1 命令窗(command window)​

​3.2 图形窗(figure window)​

​3.3 文本编辑窗(file editor)​

​4 帮助系统​

​5 代码系统总结 ​


0 主要内容

MATLAB的发展

MATLAB的优点

MATLAB的工作环境

帮助系统

代码系统总结


1 MATLAB的发展  

美国 Mathworks 公司 于1984年正式推出, 随后逐次升级。目前通常每年更新两次,例

    如2018a,2018b。用于 数值计算和图形处理 的系统环境。

MATLAB MATrix LABoratory )是一种 以矩阵运算为基础的交互式程序语言。

只有一种数据类型,一种标准的输入输出 语句,不需编译。


2 MATLAB的优点

除具备卓越的数值计算能力外,还提供专业水 平的 符号计算、文字处理、可视化建模仿真和

实时控制 等功能。每个 变量代表一个矩阵 ;每 元素都看作复数 ;所有运算都对矩阵和复数

有效;指令表达式与数学、工程中常用的形式 非常相似。

友好的工作平台和编辑环境 :许多工具采用 图形用户界面,包括 MATLAB 桌面和一些窗 口,例如命令窗口、编辑器和调试器等;程 序不必经过编译就可以直接运行,能及时报 告出现的错误并分析错误的原因。


简单易用的程序语言 MATLAB 是一种高 级的矩阵 / 阵列语言。 语法特征更符合 科技 人员对 数学表达式的书写格式 ,非常适合非 计算机专业的人员使用。


强大的科学计算和数据处理能力 :包含600 多种数学运算函数,可以方便地实现用户所 需的各种计算功能。例如 矩阵、特征向量、 傅里叶变换、线性方程求解、微分方程求解、 复数、三角函数、多维数组运算 等。矩阵的 行数、列数无需事先定义。


强大而简易的绘图功能 :能根据输入数据自 动确定坐标绘图;能规定多种坐标系;能绘

制三维坐标中的曲线和曲面;可设置不同的 颜色、线型和视角等。


功能丰富,可扩展性强 有丰富的内部函数 和工具箱。工具箱包括信号处理、图像处理、

控制系统、神经元网络、小波分析、金融等, 几乎涉及各个方面。






3 MATLAB的工作环境

进入工作环境 :双击 MATLAB 图标。

退出工作环境 exit quit 或直接关闭。

MATLAB 有很多窗口,用来实现不同的功能, 例如 命令窗 、历史命令窗、当前目录窗、工作

空间管理窗、 图形窗 文本编辑窗 等。


  1. 是路径文件夹选择
  2. .是当前文件夹显示
  3. 是点击文件夹的某一文件,可以具体显示
  4. 命令行窗口
  5. 显示命名行窗口的变量和值
  6. 本图中被隐藏了,历史代码显示

Matlab旅程(完整版)_matlab

3.1 命令窗(command window)

是对MATLAB进行操作的主要载体。默认情况下,启动MATLAB时就打开命令窗。

MATLAB 的所有函数和命令都可以在命令 窗执行。 程序的运行结果(除图形外)都显示在命令 窗。



3.2 图形窗(figure window)

显示图形的窗口。执行绘图命令后自动弹出。


3.3 文本编辑窗(file editor)

编写和修改文件程序的窗口。






4 帮助系统

命令窗口的帮助系统。

help :查找所有命令或函数的使用方法。

形式: help +函数名

look for :在不知道某命令或函数的确切名称

时查找其功能。

形式: look for +关键字


5 代码系统总结 

思维导图完整总结

%%==============I. 清空环境变量及命令==================
clear all % 清除Workspace中的所有变量
clc % 清除Command Window中的所有命令

%%==============II. 变量命令规则=======================
%%
%====1. 变量名区分大小写====
A = 2
a = 3

%%
%====2. 变量名长度不超过63位====
ABCDEFGHIJKLMNOPQRSTUVWXYZ123456ABCDEFGHIJKLMNOPQRSTUVWXYZ123456 = 3

%%
%=====3. 变量名以字母开头,可以由字母、数字和下划线组成,但不能使用标点====
% 3A = 4
% .a = 5
% /b = 5
a_2 = 3
% a.2 = 4

%%
%====4. 变量名应简洁明了,通过变量名可以直观看出变量所表示的物理意义====
A = rand(3,5)
rows = size(A, 1)
cols = size(A, 2)

%%==============III. MATLAB数据类型===========================
%%
%====1. 数字=====
2 + 4

10 - 7

3 * 5

8 / 2

%%
%====2. 字符与字符串====
s = 'a'
abs(s)
char(65)
num2str(65)

str = 'I Love MATLAB & Machine Learning.'

length(str)

doc num2str

%%
%====3. 矩阵=====
A = [1 2 3; 4 5 2; 3 2 7]
B = A'%转置
C = A(:)%列向量
D = inv(A)%逆
A * D

E = zeros(10,5,3)
E(:,:,1) = rand(10,5)
E(:,:,2) = randi(5, 10,5)
E(:,:,3) = randn(10,5)

%%
%====4. 元胞数组====
A = cell(1, 6)
A{2} = eye(3)
A{5} = magic(5)
B = A{5}

%%
%====5. 结构体====
books = struct('name',{{'Machine Learning','Data Mining'}},'price',[30 40])
books.name
books.name(1)
books.name{1}

%%============IV. MATLAB矩阵操作=============================
%%
%=====1. 矩阵的定义与构造====
A = [1 2 3 5 8 5 4 6]
B = 1:2:9
C = repmat(B, 3, 1)%复制,将B复制成3行1列
D = ones(2, 4)

%%
%====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'%矩阵进行计算
F = A .* B具体数值进行计算
G = A / B % G * B = A G * B * pinv(B) = A * pinv(B) G = A * pinv(B)
H = A ./ B

%%
%====3. 矩阵的下标=====
A = magic(5)
B = A(2,3)
C = A(3,:)
D = A(:,4)
[m, n] = find(A > 20)

%%===============V. MATLAB逻辑与流程控制===============
%%
%====1. if ... else ... end====
A = rand(1,10)
limit = 0.75;

B = (A > limit); % B is a vector of logical values
if any(B)
fprintf('Indices of values > %4.2f: \n', limit);
disp(find(B))%dis输出
else
disp('All values are below the limit.')
end

%%
%====2. for ... end====
k = 10;
hilbert = zeros(k,k); % Preallocate matrix

for m = 1:k
for n = 1:k
hilbert(m,n) = 1/(m+n -1);
end
end
hilbert

%%
%====3. while ... end====
n = 1;
nFactorial = 1;
while nFactorial < 1e100
n = n + 1;
nFactorial = nFactorial * n;
end
n

factorial(69)
factorial(70)

prod(1:69)
prod(1:70)

%%
%====4. switch ... case ... end====
mynumber = input('Enter a number:');

switch mynumber
case -1
disp('negative one');
case 0
disp('zero');
case 1
disp('positive one');
otherwise
disp('other value');
end

%%=============VI. MATLAB脚本与函数文件===============
%%
%=====1. 脚本文件====
myScript

%%
%====2. 函数文件=====
mynumber = input('Enter a number:');
output = myFunction(mynumber)

%%===========VII. MATLAB基本绘图操作==============
%%
%======1. 二维平面绘图==========
x = 0:0.01:2*pi;
y = sin(x);
figure
plot(x, y)
title('y = sin(x)')
xlabel('x')
ylabel('sin(x)')
xlim([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')
set(get(AX(2),'Ylabel'),'String','Fast Decay')
xlabel('Time (\musec)')
title('Multiple Decay Rates')
set(H1,'LineStyle','--')
set(H2,'LineStyle',':')

%%
%======2. 三维立体绘图=============
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
grid on
axis square

%%
%======3. 图形的保存与导出======

% (1) Edit → Copy Figure
% (2) Toolbar → Save
% (3) print('-depsc','-tiff','-r300','picture1')
% (4) File → Export Setup

%%================VIII. MATLAB文件导入================
%%
%====1. mat格式====
save data.mat x y1 y2
clear all
load data.mat

%%
%====2. txt格式====
M = importdata('myfile.txt');

S = M.data;
save 'data.txt' S -ascii
T = load('data.txt');

isequal(S, T)

%%
%====3. xls格式====
xlswrite('data.xls',S)
W = xlsread('data.xls');
isequal(S, W)

xlswrite('data.xlsx',S)
U = xlsread('data.xlsx');
isequal(S, U)

%%
%====4. csv格式=====
csvwrite('data.csv',S)
V = csvread('data.csv');
isequal(S, V)