matlab快速入门笔记
命名规则:

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快速入门笔记的更多相关文章
- C#快速入门笔记(1)——基础语法
C#快速入门笔记(1)——基础语法 总体框架:
- keras搭建神经网络快速入门笔记
之前学习了tensorflow2.0的小伙伴可能会遇到一些问题,就是在读论文中的代码和一些实战项目往往使用keras+tensorflow1.0搭建, 所以本次和大家一起分享keras如何搭建神经网络 ...
- matlab快速入门
matlab快速入门 1矩阵 生成矩阵 % 直接法 a = [1,2,3;4,5,6;7,8,9]; % 冒号一维矩阵 a = 开始:步长:结束,步长为1可省略 b = 1:1:10; % 1,2 ...
- C++ 快速入门笔记:进阶编程
C++入门笔记:高级编程 文件和流 打开文件 void open (const char *filename, ios::openmode mode); ios::app 追加模式.所有写入都追加到文 ...
- NumPy快速入门笔记
我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,我快速了解了一下NumPy这个科学计算库的使用方法.下面记录相关学习笔记. 简介 NumPy是一个科学计算库.结合Py ...
- Pandas快速入门笔记
我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,我快速了解了一下提供了类似关系型或标签型数据结构的Pandas的使用方法.下面记录相关学习笔记. 数据结构 Panda ...
- Matplotlib快速入门笔记
我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,快速了解了一下matplotlib绘图库.下图是我学习过程中整理的一些概念. 本文将以该图为线索梳理相关概念. 简介 ...
- Spring Boot 快速入门笔记
Spirng boot笔记 简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发 ...
- MATLAB基础入门笔记
为了参加那个电工杯,豁出去啦,时间真的很短,但是得挑战呀..对于MATLAB编程,有一些了解,MATLAB(矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算,说说它的开发环境. 任 ...
- bootstrap快速入门笔记(八)-按钮,响应式图片
一,默认样式:.btn-default , .btn-primary , .btn-success ,.btn-info, btn-warning ,btn-link 二,尺寸:.btn-lg, . ...
随机推荐
- Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用
前言 前段时间微软发布了适用于VS Code的C#开发工具包(注意目前该包还属于预发布状态但是可以正常使用),因为之前看过网上的一些使用VS Code搭建.NET Core环境的教程看着还挺复杂的就一 ...
- Windows电脑环境变量(用户变量、系统变量)的修改
本文介绍在Windows 10操作系统中,进行用户变量.系统变量等两种环境变量的新建.修改与删除的详细方法. 在很多时候,我们需要对Windows电脑的环境变量加以修改,例如安装一些专业软件. ...
- eclipse在主题商城下载安装黑色主题
Eclipse配置黑色主题方法: 1. 借用国外一个Elipse主题网站分享的主题配置文件来配置一个黑色的主题. 主题网址 2. 在这个网站下载自己喜欢的主题,单击主题进入下载页面,建议大家选择EPF ...
- LNMP环境搭建wordPress
LNMP linux Nginx --apache Mysql php 在redhat上LNMP的搭建 首先配置软件源仓库 给redhat选择ISO镜像并连接 输入下面代码后:wq保存并退出 [Bas ...
- tcpdump 常用命令
最后更新时间 2021-10-05. Linux 的命令太多,tcpdump 是一个非常强大的抓包命令. 有时候想看线上发生的一些问题: nginx 有没有客户端连接过来-- 客户端连接过来的时候 P ...
- Django message组件
使用message组件要在seetings中配置 ①INSTALLED_APPS (项目需要什么功能都放在这 既可以有数据库,又可以写代码,html文件,和自己写的APP一个道理) ②MIDDLE ...
- pandas对某列数据进行求和
求和的方式很简单,如下所示: number_of_declarations = data[4].sum()//中括号中为要求和的列
- 【干货】浅谈如何给.net程序加多层壳达到1+1>2的效果
软件破解分白盒和黑盒两种方式. 白盒破解:白盒破解是指对软件进行破解时,攻击者可以访问软件的内部结构和源代码.这种破解方式通常发生在软件的开发者.技术人员或软件公司内部.攻击者使用这些详细信息来理解软 ...
- JavaScript迭代协议
JavaScript迭代协议解读 迭代协议分为可迭代协议和迭代器协议. 协议指约定俗成的一系列规则. 可迭代协议 可迭代协议规定了怎么样算是一个可迭代对象:可迭代对象或其原型链上必须有一个键为[Sym ...
- SpringCloudAlibaba框架学习
遇到问题找了各种办法都没有解决,就reload maven,再不行就重启idea,重启电脑.(有奇效,我好几次就这么解决的,可能是我电脑配置太拉了) 注册中心 - Nacos 配置文件优先级:本地配置 ...