matlab学习笔记

基础知识

路径相关

  • 路径搜索顺序
graph LR A[变量] --> B[内部函数] B --> C[程序文件] C --> D[当前文件夹下的程序文件] C --> E[文件搜索路径文件夹中的程序文件] D --> E
  • 设置文件搜索路径 path(path, 'e:\work')
  • 设置当前路径 cd destination_path

常用系统命令

  • class 返回参数类型
  • who/whos 显示工作区变量
  • save/load 保存、导入工作区变量
save mydata x y   %将x和y保存到mydata.mat中
load mydata       %将mydata.mat中的x和y加载到工作区
  • format 设置输出格式
%rat:输出分数,long:输出long型
>>format long  % 设置格式
>>50/3
ans = 16.666666
>>format       % 清除格式
>>50/3
% 返回 ans=16.6667
  • 打印输出
% disp、fprintf、sprintf

数值计算

基础

  • 三角函数:以角度为单位在函数名后加d
sin(pi/2)  % 弧度制
sind(90)   % 角度制
  • 常用取整函数 fix, floor, ceil, round
  • 左除和右除:B/A等价于Binv(A),A/B等价于inv(A)B

积分

% 定义常数
syms a b
% 不定积分
inty = int(x, y)
% 定积分
inty = int(x, y, 1, 10)

字符串

% eval命令:将字符串作为matlab命令进行执行

% 字符串比较函数
strcmp(s1,s2) % 
strncmp(s1,s2,n) % 比较前n个字符是否相等
strcmpi(s1,s2) % 忽略大小写比较是否相等
strncmpi(s1,s2,n)

% 字符串查找与替换
findstr(s1,s2) % 返回短字符串在长字符串中的开始位置
strrep(s1,s2,s3) % 将字符串s1中的所有子字符串s2替换为字符串s3

矩阵相关

特殊矩阵:zeros、ones、eye、magic、vander、hilb、pascal

%magic魔方矩阵:行列对角线元素和相同
>> magic(3)
ans =
     8     1     6
     3     5     7
     4     9     2
%vander范德蒙矩阵
 >> vander(1:5)
ans =
     1     1     1     1     1
    16     8     4     2     1
    81    27     9     3     1
   256    64    16     4     1
   625   125    25     5     1
%hilb希尔伯特矩阵
>> format rat
>> hilb(4)
ans =
       1              1/2            1/3            1/4     
       1/2            1/3            1/4            1/5     
       1/3            1/4            1/5            1/6     
       1/4            1/5            1/6            1/7 
%pascal帕斯卡矩阵:逆矩阵全为整数
>> pascal(4)
ans =
     1     1     1     1
     1     2     3     4
     1     3     6    10
     1     4    10    20

矩阵操作

% 提取矩阵对角线元素
diag(A)		% 提取矩阵A主对角线元素,产生一个列向量
diag(A,k)	% 提取矩阵A第k条对角线的元素,产生一个列向量

% 构造对角矩阵
diag(V)		% 以向量V为主对角线元素,产生对角矩阵
diag(V,k)	% 以向量V为第k条对角线元素,产生对角矩阵

triu(A)         % 上三角矩阵
tril(A)         % 下三角矩阵

% 转置运算
A'

% 矩阵的旋转
rot90(A,k)	% 将矩阵A逆时针方向旋转90度的k倍,k=1时可省略

% 矩阵翻转
fliplr(A)	% 左右翻转
flipud(A)	% 上下翻转

矩阵特殊值

det(A)	        % 行列式
inv(A)	        % 求逆
rank(A)  	% 求秩
norm(A,k)	% 向量V的k范数
nucnorm(A)      % 核函数
cond(A,k)	% 向量V的k条件数
det(A) * inv(A) % 伴随矩阵

% 求矩阵的特征值和特征向量
eigenvalue = eig(A)
[eigenvector, eigenvalue] = eig(A)

创建、截取矩阵

  • 冒号表达式
% 0为初始值,10为中止值,2为步长,默认步长为1
>> t=0:2:10
t =
     0     2     4     6     8    10
% 1为初始值,200为中止值,10为数据个数
>> u = linspace(1, 200, 10)
u =
    1.0000   23.1111   45.2222   67.3333   89.4444  111.5556  133.6667  155.7778  177.8889  200.0000
  • 结构矩阵和单元矩阵
% 结构矩阵:结构矩阵元素.成员名=表达式
>> a(1).x1=10;a(1).x2='liu';a(1).x3=[11,21,34,78];
>> a(2).x1=12;a(2).x2='wang';a(2).x3=[34,81,44,98];
>> a(3).x1=18;a(3).x2='hou';a(3).x3=[13,11,33,77];
>> a

a = 

  包含以下字段的 1×3 struct 数组:

    x1
    x2
    x3
% 单元矩阵:大括号
>> b={10,'liu',[11,21,34,78];12,'wang',[34,81,44,98];18,'hou',[13,11,33,77]}

b =

  3×3 cell 数组

    [10]    'liu'     [1×4 double]
    [12]    'wang'    [1×4 double]
    [18]    'hou'     [1×4 double]
posted @ 2021-05-16 10:54  Js2Hou  阅读(95)  评论(0编辑  收藏  举报