命名规则:



clc:清除命令行的所有命令

clear all:清除所有工作区的内容

注释:两个% + 空格

%%

matlab的数据类型

1、数字

3
3 * 5
3 / 5
3 + 5
3 - 5

2、字符与字符串

s = 'a'
%% 求s的ascill码
abs(s)
char(97)
num2str(65)
str = 'I love zzu'
lenth(str)

3、矩阵

A = [1 2 3;4 5 2;3 2 7]\
%% A'代表A的转置矩阵
B = A'
%% A(:)表示将A矩阵按列拉长
C = A(:)
%% inv(A)表示求A的逆矩阵,注意A必须为方阵
D = inv(A)
%% 创建了一个三维的零矩阵每一层是10行5列
E = zeros(10, 5, 3)

rand、randi、randn

rand生成均匀分布的伪随机数,分布在(0, 1)之间

主要语法:rand(m, n)生成m行n列的均匀分布的伪随机数

randn生成标准正态分布的伪随机数(均值为0,方差为1)

语法同上

randi生成均匀分布的伪随机整数

主要语法

randi(iMAX)在开区间(0,iMAX)上生成伪随机正数

randi(iMAX, m, n)在开区间(0,iMAX)上生成m*n型随机矩阵

4、元胞数组和结构体

A = cell(1, 6)
%% matlab索引是从1开始的
A{2} = eye(3)
%% magic函数解释在下面
A{5} = magic(5)
B = A{5}

5、结构体

books = struct('name', {{'Machine Learing', 'Data Mining'}}, 'price', [30 40])
%% books中选择name属性
books.name
%% 取出来的是cell
books.name(1)
%% 取出来的是字符串
books.name{1}

矩阵的运算

1、矩阵的定义与构造

A = [1 2 3 4  5 6 ]
%% 最小值是1,最大值是9,步长为2 得到的是1 3 5 7 9
B = 1 : 2 : 9
%% 将B重复3行再重复两列
C = repmat(B, 3, 2)
%% 生成一个2*4并且全部为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 = A * inv(B)
G = A / B
%% 对应项相除
G = A ./ B

3、矩阵的下标

A = magic(5)
%% 取A矩阵第二行第三列的位置
B = A(2,3)
%% 取A矩阵的第三行
C = A(3, :)
%% 取A矩阵的第四列
D = A(:, 4)
%% 返回A矩阵中所有大于20的索引值,一个方向给m一个方向给n
[m, n] = find(A > 20)

程序流程

循环控制
for 循环变量 = 初值 : 步长 : 终值
执行语句1
.
.
.
执行语句n
end

注意步长默认为1,如果我们步长为1可以不写

sum = 0;

for n = 1 : 5

sum = sum + n * n

end

循环控制
while 条件表达式
执行语句1
.
.
.
执行语句n
end
if 条件表达式1
执行语句1
else
执行语句2
end

一些见到的新的用法

%% f矩阵的第i行第j列赋值为1
f(i, j) = 1

求方阵无穷次幂的极限

%% syms 函数用于定义符号变量。符号变量是一种特殊类型的变量,用于表示数学表达式中的符号和变量,而不是数值。
%% 在定义符号变量之后,我们可以使用 MATLAB 的符号计算工具箱进行符号计算,例如求解方程、求导、积分、求极限、求解线性代数问题等。
syms X b;
X = [0.5 0.5; 0.7 0.3]
P = limit(X ^ b, b, inf)

常用函数

size函数

% 设A是一个3*4的矩阵
n = size(A) % n返回一个行向量[3 4]行向量是A每一维的长度
n = size(A, 1) % 返回A第一维的长度
n = size(A, [1 2]) % 返回A第一维和第二维的长度

randperm

path = randperm(n) % 返回一个行向量,包含从1到n没有重复元素的排列
path = randperm(n, k) % 返回一个行向量,包含从1到n之间随机选择k个唯一整数、

fliplr

B = fliplr(A);

matlab快速入门笔记的更多相关文章

  1. C#快速入门笔记(1)——基础语法

    C#快速入门笔记(1)——基础语法 总体框架:

  2. keras搭建神经网络快速入门笔记

    之前学习了tensorflow2.0的小伙伴可能会遇到一些问题,就是在读论文中的代码和一些实战项目往往使用keras+tensorflow1.0搭建, 所以本次和大家一起分享keras如何搭建神经网络 ...

  3. matlab快速入门

    matlab快速入门 1矩阵 生成矩阵 ​ % 直接法 a = [1,2,3;4,5,6;7,8,9]; % 冒号一维矩阵 a = 开始:步长:结束,步长为1可省略 b = 1:1:10; % 1,2 ...

  4. C++ 快速入门笔记:进阶编程

    C++入门笔记:高级编程 文件和流 打开文件 void open (const char *filename, ios::openmode mode); ios::app 追加模式.所有写入都追加到文 ...

  5. NumPy快速入门笔记

    我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,我快速了解了一下NumPy这个科学计算库的使用方法.下面记录相关学习笔记. 简介 NumPy是一个科学计算库.结合Py ...

  6. Pandas快速入门笔记

    我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,我快速了解了一下提供了类似关系型或标签型数据结构的Pandas的使用方法.下面记录相关学习笔记. 数据结构 Panda ...

  7. Matplotlib快速入门笔记

    我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,快速了解了一下matplotlib绘图库.下图是我学习过程中整理的一些概念. 本文将以该图为线索梳理相关概念. 简介 ...

  8. Spring Boot 快速入门笔记

    Spirng boot笔记 简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发 ...

  9. MATLAB基础入门笔记

    为了参加那个电工杯,豁出去啦,时间真的很短,但是得挑战呀..对于MATLAB编程,有一些了解,MATLAB(矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算,说说它的开发环境. 任 ...

  10. bootstrap快速入门笔记(八)-按钮,响应式图片

    一,默认样式:.btn-default , .btn-primary , .btn-success  ,.btn-info, btn-warning ,btn-link 二,尺寸:.btn-lg, . ...

随机推荐

  1. 效率回归,工具库之美「GitHub 热点速览」

    刚开源就变成新星的 igl,不仅获得了 2k+ star,也能提高你开发游戏的效率,摆平一切和图形有关的问题.如果这个没有那么惊艳的话,还有 The-Art-of-Linear-Algebra,重燃了 ...

  2. vue基本操作[上] 续更----让世界感知你的存在

    Vue引用js文件的多种方式 1.vue-cli webpack全局引入jquery (1)首先 npm install jquery --save (--save 的意思是将模块安装到项目目录下,并 ...

  3. linux内核vmlinux的编译过程(七)

    一. vmlinux目标及其构建规则 定义在顶层Makefile中,如下: # The all: target is the default when no target is given on th ...

  4. 【NestJS系列】核心概念:Controller控制器

    前言 控制器主要是用来处理客户端传入的请求并向客户端返回响应. 它一般是用来做路由导航的,内部路由机制控制哪个控制器接收哪些请求. 路由 为了创建基本控制器,我们需要使用@Controller装饰器, ...

  5. C++(类成员的访问控制)

    访问控制 如下代码,Student这个类的所有成员我们都可以调用,但是我们不想让被人调用Print1这个方法该怎么? struct Student { int age; int sex; void P ...

  6. 《敏捷无敌之DevOps时代》读后感

    背景: 2020年基于我司业务形态,我开始实行敏捷项目管理.以敏捷为道,Scrum为法,迭代为术,禅道作器,大张旗鼓的搞了2年敏捷开发.随着时间推移,问题出现在2022年,当时我们已经完全按照Scru ...

  7. PlayWright(二十二)- allure插件(一)

    在上文中,我们介绍并使用了pytest-html插件,总之并不复杂,但是今天我们要讲一个比pytest-html插件强很多的插件allure报告,我们要掌握他并且灵活使用,之后的框架就不需要考虑其他的 ...

  8. golang技术降本增效的手段

    最近一年各大中小厂都在搞"优化",说到优化,目的还是"降本增效",降低成本,增加效益(效率). 技术层面,也有一些降本增效的常规操作. 比如池化.io缓冲区技术 ...

  9. excel:if语句

    IF语法格式: IF(logical_test,value_if_true,value_if_false) 释义:判断一个条件是否满足,如果满足返回一个值,如果不满足则返回另一个值. logical_ ...

  10. .net开发-心情与效率

    随着现代科技的不断发展,笔记本电脑已经成为我们日常生活中不可或缺的一部分.然而,在使用笔记本电脑的过程中,我们可能会遇到一些问题,例如显示器闪烁.HDMI接口接触不良等,这些问题不仅会影响我们的工作效 ...