MATLAB基本用法介绍

MATLAB基本用法介绍

最近由于学习算法又开始使用MATLAB了,因此记录一些MATLAB常用的用法,便于日后的复习

%% 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’
% 传入字符串得到ASCLL码
abs(s)
% 转为字符
char(65)
num2str(65)
% 3. 矩阵
% 分号表示换行
A = [1 2 3; 4 5 2; 3 2 7]
% ‘表示转置
B = A’
% 按照列转为列向量
C = A( :)
% A矩阵的逆
D = inv(A)
A * D
%%
% 4. 元胞数组
A = cell(1, 6)
% eye生成单位矩阵
A{2} = eye(3)
% magic生成一个n*n的矩阵,矩阵元素是由整数1到n^2组成的并且任何行任何列的和都相等
A{5} = magic(3)
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]
% 从1取到9中间隔两个一取
B = 1:2:12
C = repmat(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用来生成格式化的字符串,
fprintf(‘Indices of values > %4.2f: \n’, limit);
disp(find(B))
else
% disp输出数组类型的数据,也可以把string类型的数据看做数组输出
disp(‘All values are below the limit.’)
end
%%
% 2. for … end
k = 10;
hilbert = zeros(k,k);
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
% 计算阶乘的两种方法
factorial(69)
factorial(70)
prod(1:69)
prod(1:70)
%%
% 4. switch … case … end
mynumber = input(‘Enter a number:’);
witch mynumber
case -1
disp(‘negative one’);
case 0
disp(‘zero’);
case 1
disp(‘positive one’);
otherwise
disp(‘other value’);
end

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值