命名规则:



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. 跟着 GPT-4 从0到1学习 Golang 并发机制(三)

    目录 一.前言 二.开聊 2.1 关于 goroutine 泄露问题 2.2 内存模型 2.3 Race Detector 检测数据竞争 三.总结 一.前言 话接上回<跟着 GPT-4 从0到1 ...

  2. 使用Locust进行性能测试

    当涉及到评估应用程序或服务的性能时,Locust是一个功能强大且易于使用的开源工具.本文将介绍Locust的基本概念和使用方法. 什么是Locust? Locust是一个用于编写.运行和分析负载测试的 ...

  3. RDB初步了解

    RDB概念 快照文件是.rdb结尾 redis6.2以前和之后(包括6.2)在什么条件下会保存rdb文件有所不同 以前 15min&&1个key(改变)调用保存 5min&&a ...

  4. docker笔记-安装、操作和Registry

    注意事项 强烈建议docker宿主机关闭firewalld,改用iptables 1 docker安装 1.1 离线安装 下载 Docker 二进制文件(https://download.docker ...

  5. Cilium 系列-3-Cilium 的基本组件和重要概念

    系列文章 Cilium 系列文章 前言 安装完了,我们看看 Cilium 有哪些组件和重要概念. Cilium 组件 如上所述,安装 Cilium 时,会安装几个运行组件(有些是可选组件), 它们各是 ...

  6. React组件设计之性能优化篇

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:空山 前言 由于笔者最近在开发中遇到了一个重复渲染导致子组 ...

  7. Wampserver64 报错:无法启动此程序,因为计算机中丢失 MSVCR110.dll。尝试重新安装该程序以解决此问题。

    缺少环境配置, 程序下载地址如下: https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=30679 点击下载,下载完成后,双击程 ...

  8. python=2.7-not available from current channels

    现象 使用miniconda3创建python2的环境 Collecting package metadata (current_repodata.json): done Solving enviro ...

  9. 形象谈JVM-第二章-认识编译器

    我在上一章<形象谈JVM-第一章-认识JVM>提到的"翻译",其实就是我们今天所说的"编译"的概念. 上一章原文链接:https://www.cnb ...

  10. Mysql高阶自定义排序

    Mysql高阶自定义排序 嗨,大家好,我是远码,隔三岔五给大家分享一点工作的技术总结,花费的时间不多,几分钟就行,谢谢! Mysql对我们码农来说是在熟悉不过的日常了,就不在介绍它的基础用法了,今天我 ...