MATLAB的基础知识
matlab的基本小常识
1. 在每行语句后面加上英文分号表示不在命令行窗口显示运行结果。
a = 3;
a = 5
2. 多行注释快捷键,CTRL+R。
3. 取消多行注释,CTRL+T。
4. 清空工作区的所有变量使用clear。
5. 清空命令行窗口的所有变量使用clc。
6. clc和clear一起使用,起到初始化的作用,防止之前的结果对新脚本文件(后缀名为.m的文件)产生干扰。
输入和输出函数
输出函数disp()
disp函数(display的缩写)是屏幕输出函数,类似c语言的printf函数。
如果括号内的内容如果为字符串,单双引号不做区分,disp("太阳是我的指南针")。
如果括号内的内容是数、向量(只有行或列)或者矩阵(既有行又有列),disp(变量名)。
disp函数之后加不加分号都会输出结果。
向量和矩阵
a = [1 2 3]
a = [1,2,3]
%同一行的元素之间用逗号或空格分隔。
a = [1;2;3]
%同一列的元素之间用分号分隔。
合并字符串的方法
1. strcat(str1, str2, ……, strn)
2. ["str1" "str2"] or ["str1", "str2"]
一个有用的字符串函数:num2str 将数字转换成字符串
c = 100
num2str(c)
disp(["c的取值为", num2str(c)])
or disp(strcat("c的取值为", num2str(c)))
输入函数input()
一般我们会将输入的输、向量、矩阵或字符串等赋值给一个变量。
A = input("请输入A:");
B = input("请输入A:")
% input函数加了分号,因此A变量不会在命令行窗口打印结果;而B变量就会打印结果。
求和函数sum
1. 如果是向量(无论是列向量还是行向量),就直接求和。
E = [1 2 3]
sum(E)
2. 如果是矩阵,需要根据行和列的方向来作区分。
E = [1,2;3,4;5,6]
a = sum(E) or a = sum(E, 1) %按列求和(得到一个行向量)。
a = sum(E, 2) %按行求和(得到一个列向量)。
a = sum(sum(E)) or a = sum(E(:)) %对整个矩阵求和。
dim(维度)默认为1。
dim = 1表示按照列。
dim = 2表示按照行。
如何提取矩阵中的指定位置元素
E = [1,2,11;3,4,12;5,6,13;7,8,14;9,10,15]
1. 取指定行和列的一个元素
E(2,1) %第二行第一列的元素
2. 取指定某一行的全部元素
E(2,:) %输出第二行的全部元素(输出行向量)
3. 取指定某一列的全部元素
E(:,1) %输出第一列的全部元素(输出列向量)
4. 取指定某几行的全部元素
E([1,2],:) %只取第一行和第二行的全部元素
E(1:3,:) %取第一行到第三行的全部元素
E(1:2:3,:) %取第一行到第三行,从一开始每次递增两个单位,到三结束
%涉及到等差数列的语法 begin:d:end
E(2:end,:) %取第二行到最后一行的全部元素
E(2:end-1,:) %取第二行到倒数第二行的全部元素
5. 取全部元素(按列全部拼接成一列,最终输出一个列向量)
E(:)
size函数
A = [1,2,3;4,5,6]
size(A)
%上放函数用来求矩阵A的大小,它返回一个行向量,第一个元素是矩阵的行数,第二个元素是矩阵的列数。
[r,c] = sizeof(A)
%将矩阵A的行数返回到第一个变量r中,将矩阵A的列数返回到第二个变量c中。
r = size(A,1) %返回行数
c = size(A,2) %返回列数
repmat函数
A = [1,2,3;4,5,6]
B = repmat(A,m,n)
%将矩阵A复制m*n块,把A作为B的元素,B由m*n个A平铺而成
矩阵的运算
A = [1,2;3,4]
B = [1,0;1,1]
%在矩阵的运算中," * "和" / "代表矩阵之间的乘法与除法。
A*B A/B
%逆矩阵 inv(A)
A*inv(A) = 单位矩阵 %一个矩阵乘它的逆矩阵等于单位矩阵
A/B = A*inv(B) %A矩阵除以B矩阵等于A矩阵乘B的逆矩阵
%两个相同形状的矩阵对应元素之间的乘除法需要使用" .* "和" ./ "
A.*B A./B
%矩阵中每个元素同时乘或除以一个常数,可以用" * "、" / "也可以用" .* "、" ./ "。
%矩阵中每个元素同时乘方需要使用" .^ "
A .^ 2 = A .* A
A * A是矩阵乘法,不是乘方。
Matlab中求特征值和特征向量
% 在Matlab中,计算矩阵A的特征值和特征向量的函数是eig(A),其中最常用的两个用法:
A=[1 2 3;2 2 1;2 0 3]
E=eig(A); %求矩阵A的全部特征值,构成向量E。
[V,D]=eig(A); %求矩阵A的全部特征值,构成对角矩阵D,并求A的特征向量构成V的列向量。(V的每一列都是D中与之相同列的特征值的特征向量)
find函数的基本用法
find函数可以用来返回向量或矩阵中不为0的元素的位置索引。
X = [1 0 4 -3 0 0 0 8 6]
向量:
ind = find(X) % 返回X向量中所有不为0元素的索引:1 3 4 8 9
ind = find(X,2) % 返回前两个不为0的位置索引:1 3
X = [1 0 4;-3 0 0;0 8 6]
矩阵:
因为在matlab中存储矩阵是一列一列存储的,所以返回的是一个列向量。
ind = find(X) % 返回X矩阵中所有不为0元素的索引:1 2 6 7 9(列向量)
也可以分别返回行和列数
[r,c] = find(X) % 返回所有不为0的元素的行和列到r和c中
[r,c] = find(X,1) %只返回第一个不为0的元素
矩阵与常数大小的判断运算
%共有三种运算符,分别是大于(>)、小于(<)和等于(==)。
X = [1 0 4;-3 0 0;0 8 6]
X > 0 %在矩阵中某个位置的元素如果满足判断条件就会在生成的新矩阵的原位置返回1,否则返回0,最终生成一个只有0和1的相同形状的矩阵。
判断语句
%matlab中的判断语句,if所在行不需要冒号,语句的最后以end结尾,中间语句要缩进。
a = input("请输入考试成绩")
if a>=85
disp("成绩优秀")
elseif a>=60
disp("成绩合格")
else
disp("成绩挂科")
end
相关文章:
MATLAB的基础知识
matlab的基本小常识 1. 在每行语句后面加上英文分号表示不在命令行窗口显示运行结果。 a 3; a 5 2. 多行注释快捷键,CTRLR。 3. 取消多行注释,CTRLT。 4. 清空工作区的所有变量使用clear。 5. 清空命令行窗口的所有变量使用clc。 6. clc和clear一起使…...
Redis-高级实战案例
文章目录 Redis集群崩溃时如何保证秒杀系统高可用1. 冗余与备份2. 故障检测与自动切换3. 降级策略4. 数据一致性5. 客户端缓存6. 异常处理与通知7. 测试与演练8. 服务降级与回滚Redis主从切换导致库存同步异常以及超卖问题主从切换导致的库存同步异常原因:解决方案:秒杀链路中…...
d3d12.dll 文件缺失如何解决?五种修复丢失问题的方法
d3d12.dll 文件缺失如何解决?它为什么会不见呢?今天,我们将探讨 d3d12.dll 文件的重要性、原因以及丢失时的解决策略。本文将全面介绍 d3d12.dll 文件,并提供五种修复丢失问题的方法。 d3d12.dll文件是什么的详细介绍 d3d12.dll …...
Linux下如何设置系统定时任务
在Linux系统中,用户可以使用cron工具来设置定时任务。cron是一个守护进程,用于在指定的时间间隔执行指定的命令或脚本。下面是在Linux系统中设置系统定时任务的步骤。 使用crontab命令编辑定时任务列表: crontab -e该命令会打开一个文本编辑…...
【React】JSX 实现列表渲染
文章目录 一、基础语法1. 使用 map() 方法2. key 属性的使用 二、常见错误和注意事项1. 忘记使用 key 属性2. key 属性的选择 三、列表渲染的高级用法1. 渲染嵌套列表2. 条件渲染列表项3. 动态生成组件 四、最佳实践 在 React 开发中,列表渲染是一个非常常见的需求。…...
写一个简单的兼容GET/POST请求的登录接口
本文目录 安装JDK17安装或者更新Intelij Idea 2024SpringBoot生成项目压缩包下载maven,idea添加maven写POST接口浏览器访问GET接口PostMan安装及访问POST接口 安装JDK17 参考:https://blog.csdn.net/tiehou/article/details/129575138 安装或者更新Int…...
【好玩的经典游戏】Docker环境下部署赛车小游戏
【好玩的经典游戏】Docker环境下部署赛车小游戏 一、小游戏介绍1.1 小游戏简介1.2 项目预览二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 安装Docker环境3.2 检查Docker服务状态3.3 检查Docker版本3.4 检查docker compose 版本四、构建容器镜像4.1 下…...
物理机 gogs+jenkins+sonarqube 实现CI/CD
一、部署gogs_0.11.91_linux_amd64.tar.gz gogs官网下载:https://dl.gogs.io/ yum -y install mariadb-serversystemctl start mariadbsystemctl enable mariadbuseradd gittar zxvf gogs_0.11.91_linux_amd64.tar.gzcd gogsmysql -u root -p < scripts/mysql.…...
前端表格解析方法
工具类文件 // fileUtils.tsimport { ref } from vue; import * as xlsx from xlsx;interface RowData {[key: string]: any; }export const tableData ref<RowData[]>([]);export async function handleFileSelect(url: string): Promise<void> {try {const res…...
Leetcode 3227. Vowels Game in a String
Leetcode 3227. Vowels Game in a String 1. 解题思路2. 代码实现 题目链接:3227. Vowels Game in a String 1. 解题思路 这一题稍微分析一下之后就会发现,这个游戏有且只有一种情况Bob才能够赢,即原始字符串当中不存在元音字母的情况&…...
树莓派4B从装系统raspbian到vscode远程编程(python)
1、写在前面 前面用的一直是Ubuntu系统,但是遇到一个奇葩的问题: 北通手柄在终端可以正常使用,接收到数据 但在python程序中使用pygame库初始化时总是报错:Invalid device number,检测不到手柄 经过n次重装系统&am…...
vue上传Excel文件并直接点击文件列表进行预览
本文主要内容:用elementui的Upload 组件上传Excel文件,上传后的列表采用xlsx插件实现点击预览表格内容效果。 在项目中可能会有这样的需求,有很多种方法实现。但是不想要跳转外部地址,所以用了xlsx插件来解析表格,并展…...
OpenCV 像素操作—证件照换底色详细原理 C++纯手写实现
文章目录 总体步骤1.RGB转HSV2.找出要换的底色3.取反,黑白颠倒4.将原图像的非背景部分复制到新背景上 完整代码1.C纯手写版2.官方API版本 总体步骤 1.RGB转HSV 为什么一定要转为HSV 颜色空间? 将图像从BGR颜色空间转换为HSV颜色空间是因为HSV颜色空间更…...
tinygrad框架简介;MLX框架简介
目录 tinygrad框架简介 MLX框架简介 LLaMA编辑 Stable Diffusion编辑 tinygrad框架简介 极简主义与易扩展性 tinygrad 的设计理念是极简主义。与 XLA 类比,如果 XLA 是复杂指令集计算 (CISC),那么 tinygrad 就是精简指令集计算 (RISC)。这种简约的设计使得它成为添加…...
服务器重启了之后就卡在某个页面了,花屏,如何解决??
🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…...
Hospital 14.6.0全开源医院管理预约系统源码
InfyHMS 具有 60 种功能和 9 种不同类型的用户类型, 他们可以登录系统并根据他们的角色访问他们的数据。 源码下载:https://download.csdn.net/download/m0_66047725/89580674 更多资源下载:关注我。...
C/C++樱花树代码
目录 写在前面 系列文章 C简介 完整代码 代码分析 写在后面 写在前面 C实现精美的樱花树,只需这100行代码! 系列文章 序号目录直达链接1爱心代码https://want595.blog.csdn.net/article/details/1363606842李峋同款跳动的爱心https://want595.b…...
sklearn基础学习
1. 简介 1.1 什么是sklearn sklearn,或者更正式地称为scikit-learn,是一个基于Python的开源机器学习库。它建立在NumPy、SciPy和matplotlib之上,提供了简单而有效的工具用于数据挖掘和数据分析。sklearn支持监督学习和无监督学习算法&#…...
SpringBoot 自动配置原理
一、Condition Condition 是在 Spring 4.0 增加的条件判断功能,通过这个可以功能可以实现选择性的创建 Bean 操 作。 思考: SpringBoot 是如何知道要创建哪个 Bean 的?比如 SpringBoot 是如何知道要创建 RedisTemplate 的? …...
Redisson中RQueue的使用场景附一个异步的例子
RQueue 是一个基于 Redis 的分布式作业队列系统,它允许开发者在 Ruby 应用程序中实现异步任务处理和计划任务调度。由于 Redis 提供了高性能的内存数据结构存储,RQueue 可以快速地存储和检索队列中的任务,这使得它非常适合于高并发和低延迟的…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
