Matlab基础知识
MATLAB批量读入文件和导出文件
一、 批量读入文件
1.若文件名称有序,则按照文件名称规律循环读取文件
(1)读入不同的excel
for i=1:1:10str=strcat('F:\数据\v=',int2str(i),'.xlsx'); %连接字符串形成文件名A=xlsread(str);
end
注:变量i为整数时,可以用int2str(i)将数字转化为字符串;
for i=1:0.2:2str=strcat('F:\数据\v=',num2str(i),'.xlsx'); %连接字符串形成文件名A=xlsread(str);
end
变量i为小数时,必须用num2str(i)进行转化。
(2)读入同一excel的不同sheet
for k = 1:3a = xlsread('yourname.xls',['sheet',num2str(k)]);
end
注:可以先用xlsinfo确定有多少个sheet要读
[Type Sheet Format]=xlsfinfo('file1.xls')
2.若文件名称没有规律,则从第一个文件开始读取
list=dir(['F:\数据\','*.xlsx']);
n=lendth(list);
for i=1:kstr=strcat('F:\数据\',list(i).name)A=xlsread(str)
end
二、批量导出文件
导出数据写入不同的excel
for i=1:kxlswrite(strcat(filepath,num2str(i),'.xlsx'),A,'sheet1','A1');
end
2.导出数据写入同一excel的同一sheet
(1)假如有5个数据,每循环一次写入一个数据,从A1写到E1
for i=1:5xlswrite('name.xlsx',A,'sheet1',[char(64+i),'1'])
end
注:64+i是ascii码,代入i值对应65-69,用char函数转换出来即为字符A-E。
(2)假如有5个数据,每循环一次写入一个数据,从A1写到A5
for i=1:5xlswrite('name.xlsx',A,'sheet1',['A',num2str(i)])
end
(3)假如循环一次写入多组数据,需占据一个矩形区域
xlswrite('name.xlsx',A,'sheet1','A1:B2')
3.导出数据写入同一excel的不同sheet
for 1:kxlswrite('name1.xlsx',colname,strcat('name2',num2str(i)),'A1'); %写入表头,需提前命令colname内容xlswrite('name1.xlsx',A,strcat('name2',num2str(i)),'A2');
end
注:Excel最多可以储存65536行256列;
写入数据必须是同一类型,不同类型的数据要分开写入。
MATLAB for循环
MATLAB中 for 循环是一个重复的控制结构,可以有效地写一个循环,只是执行的次数是特定的。
for循环的语法如下:
for index = values...
end
for 循环的值有下述三种形式之一:
格式 | 描述 |
initval:endval | 将索引变量从初始到终值递增1,并重复执行程序语句,直到索引值大于终值。 |
initval:step:endval | 按每次迭代中的值步骤递增索引, 或在步骤为负值时递减。 |
valArray | 在每个迭代 valArrayon 数组的后续列中创建列向量索引。 例如, 在第一次迭代中, index = valArray (:, 1),循环执行最大 n 次, 其中 n 是 valArray 的列数,由 numel (valArray, 1,:) 给出。 输入 valArray 可以是任何 MATLAB 数据类型, 包括字符串、单元格数组或结构。 |
在MATLAB中建立一个脚本文件,并输入下述代码:
例子 1(initval:endval)
for a = 10:20 fprintf('value of a: %d', a);
end
运行文件,显示下述结果:
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19 value of a: 20
例子 2(initval:step:endval)
for a = 1.0: -0.1: 0.0disp(a)
end
运行文件,显示下述结果:
1 0.9000 0.8000 0.7000 0.6000 0.5000 0.4000 0.3000 0.2000 0.1000 0
例子3(valArray)
for a = [24,18,17,23,28]disp(a)
end
运行文件,显示下述结果:
24 18 17 23 28
MATLAB 中如何使用 help
语法
help
help name
描述
help 会在命令行列出所有的主要 help 主题。每一个主题对应 MATLAB 搜索路径中一个文件夹名称。
help name 显示 指定 name 对应的功能文本,name 可以是函数,方法,类,工具箱或者变量。
输入参数
name%可以是操作符,函数名,类,方法,包,工具箱文件夹,变量或其它的功能名称。
%某些类和其它包需要你指定包名。事件,属性和某些方法要求你指定类名。使用点分隔名称的组件,即:help className.name
help packageName.name
help packageName.className.name%如果 name 是变量,help 显示变量所属类的帮助文本。
help name%要使用 name 类的方法的 help,则为:
help name.methodname
示例:
如果名称重载(出现在搜索路径上的多个文件夹中),help 将显示搜索路径上找到的第一个名称实例的帮助文本,并显示重载函数及其文件夹的超链接列表。
%函数或者重载方法
%显示 MATLAB close 函数的 helphelp close%因为 close 指向函数和几个方法,所以帮助文本包含指向重载方法的超链接。
当 name 指定工具箱文件夹的名称或部分路径时:
如果文件夹包含非空的 Contents.m 文件,则 help 将显示该文件。
Contents.m 包含文件夹中的 MATLAB 程序文件列表及其说明。
如果 Contents.m 存在,但是为空,则M ATLAB 显示 No help found for name。
如果该文件夹不包含 Contents.m 文件,则 help 会列出该文件夹中每个程序文件的第一行帮助文本。
如果 name 是函数和工具箱的名称,则 help 会显示工具箱和函数的关联文本。
%使用 Database 工具箱的 close 方法的 help:
help database.close
%包,类,方法
%显示 containers 包,Map 类,isKey方法的 help:
help containers
help containers.Map
help containers.Map.isKey%也并不是所有的包,类,方法和事件都需要完整的指定。
%如类 MEception 中的 throwAsCaller 方法:
help throwAsCaller
%变量
%显示变量 t = datatime 的 help
t = datetime
help t%因为 t 是 datetime 类型的,所以 help函数会显示 datetime 类的帮助文本。%同理,如果要显示变量方法的 help,则为(Day 是 datetime 类的方法)
help t.Day
%文件夹中的函数
%通过指定部分路径,列出文件夹 matlabroot/toolbox/matlab/general 的所有函数
help general
注意
某些帮助文本以大写字符显示函数的名称,以使它们与其它部分做出区分。 键入这些函数名称时,应使用小写。 对于以混合大小写形式出现的函数名称,应键入显示名称。
要防止长描述阅读时过于耗时,应输入更多信息,然后输入帮助声明。
某些类要求指定包名称以显示帮助文本。 要标识包名称,应创建该类的实例,然后调用class(obj)。
Python 中的 help
#包
py.help('textwrap')#类
py.help('textwrap.TextWrapper')# 类方法
py.help('textwrap.TextWrapper.wrap')#函数
py.help('textwrap.fill')
Matlab保存图片
函数功能:将图像数据写入到图像文件中,存储在磁盘上
imwrite(A,filename,fmt)%参数介绍
%A是图像数据,filename是保存的图像名称,fmt是要保存的图片格式(如bmp, jpg, png等)
代码示例:
imwrite(temp,'before.jpg','jpg')
Matlab 希腊字母对照表
Α α:阿尔法 Alpha
Β β:贝塔 Beta
Γ γ:伽玛 Gamma
Δ δ:德尔塔 Delta
Ε ε:艾普西龙 Epsilon
Ζ ζ :捷塔 Zeta
Ε η:依塔 Eta
Θ θ:西塔 Theta
Ι ι:艾欧塔 Iota
Κ κ:喀帕 Kappa
∧ λ:拉姆达 Lambda
Μ μ:缪 Mu
Ν ν:拗 Nu
Ξ ξ:克西 Xi
Ο ο:欧麦克轮 Omicron
∏ π:派 Pi
Ρ ρ:柔 Rho
∑ σ:西格玛 Sigma
Τ τ:套 Tau
Υ υ:宇普西龙 Upsilon
Φ φ:fai Phi
Χ χ:器 Chi
Ψ ψ:普赛 Psi
Ω ω:欧米伽 Omega
MATLAB常用快捷键总结
编辑器窗口(Editor)下的常用快捷键: | |
自动对齐程序(整理缩进)-自动整理代码 | 用鼠标选中代码行,按Ctrl + I (我一般先 Ctrl+A 全选所有代码,再 Ctrl+I) |
快速注释代码段 | 拖动鼠标选中需要注释的代码行,按Ctrl + R |
快速取消注释代码段 | 拖动鼠标选中已经注释的代码行,按Ctrl + T |
撤销改动 | Ctrl + Z |
取消撤销(撤销过多时使用) | Ctrl + Y |
多行代码增加缩进(代码段右移) | 选中代码段,按 Tab键 或 Ctrl + ] |
多行代码减少缩进(代码段左移) | 选中代码段,按 Shift+Tab键 或 Ctrl + [ |
自动补全命令(记不全函数名时使用) | 输入函数的前几个字母,再按Tab |
查找或替换变量名、函数名 | Ctrl + F |
关闭当前的程序文本(.m)文件 | Ctrl + W |
在Editor窗体中切换 | Ctrl + PageUp/PageDown Ctrl+PgUp表示编辑器窗口向左切换文件 Ctrl+PgDn表示编辑器窗口向右切换文件 |
代码调试常用快捷键: | |
运行 | F5可保存并直接运行程序 |
执行选中代码段 | F9 |
单步执行 | F10 |
F11 | 表示step in,即当遇见子函数时,使用此快捷键,进入函数内部 |
Shift + F11 | 表示step out,即使用此快捷键,执行完子函数的剩余程序,并跳出子函数 |
设置或取消断点的方法有两种 | (1) 在要设置断点的行左侧的-处单击; (2) 可按F12设置断点。 |
直接跳至某行 | Ctrl + G, 当程序源代码很长时,可能有几百上千行。有时错误出现在很后面的地方,需要用鼠标中间的滚轮往下滚很久,才能滚到想要的那一行。这时,按Ctrl+G,就会跳出一个对话框,输入想要去的那一行的行号,就可以直接跳过去了。 |
强制中断程序的运行 | Ctrl + C |
命令窗口(Command Window)下的常用快捷键与命令: | |
再现历史命令 | 上下光标键↑↓ ,在命令窗口中,上下光标键可以调用Matlab最近使用过的历史命令,便于快速重新执行。 如果输入命令的前几个字母,再使用光标键,则只会选择以这些字母开始的命令。 上下箭头寻找此前和此后输入的命令,每次一条。 |
快速退出MATLAB | Ctrl + Q |
清除输入的命令 | Esc |
将光标处至结尾之间的代码删除 | Ctrl + K |
what | 显示当前工作路径中的所有代码文件 |
type 代码文件名 | 显示代码文件的内容 |
edit | 启动编辑器,并新建一个空白文件 |
edit 代码文件名 | 打开相应代码文件 |
whatsnew | 列出MATLAB新版本更新的内容 |
切换窗口快捷键: | |
Ctrl+0 | 命令行窗口(Command Window) |
Ctrl + Shift + 0 | 编辑器窗口(Editor) |
Ctrl + 1 | 历史命令窗口(Command History) |
Ctrl + 2 | 当前工作窗口(Current Folder) |
Ctrl + 3 | 工作空间(Workspace) |
相关文章:
Matlab基础知识
MATLAB批量读入文件和导出文件一、 批量读入文件1.若文件名称有序,则按照文件名称规律循环读取文件(1)读入不同的excelfor i1:1:10strstrcat(F:\数据\v,int2str(i),.xlsx); %连接字符串形成文件名Axlsread(str); end注:变量i为整数时,可以用i…...

动手学深度学习【2】——softmax回归
动手学深度学习网址:动手学深度学习 注:本部分只对基础知识进行简单的介绍并附上完整的代码实现,更多内容可参考上述网址。 前言 前面一节我们谈到了线性回归,它解决的是预测某个值的问题。但是在日常生活这,除了预测…...

深入理解Activity的生命周期
之前学习安卓的时候只是知道生命周期是什么,有哪几个,但具体的详细的东西却不知道,后来看过《Android开发艺术探索》和大量博客之后,才觉得自己真正有点理解生命周期,本文是我对生命周期的认识的总结。废话少说先上图。…...
Go语言刷题常用数据结构和算法
数据结构 字符串 string 访问字符串中的值 通过下标访问 s1 : "hello world"first : s[0]通过切片访问 s2 : []byte(s1) first : s2[0]通过for-range循环访问 for i, v : range s1 {fmt.Println(i, v) }查询字符是否属于特定字符集 // 判断字符串中是否包含a、b、…...
深入vue2.x源码系列:手写代码来模拟Vue2.x的响应式数据实现
前言 Vue响应式原理由以下三个部分组成: 数据劫持:Vue通过Object.defineProperty()方法对data中的每个属性进行拦截,当属性值发生变化时,会触发setter方法,通知依赖更新。发布-订阅模式:Vue使用发布-订阅…...

Linux线程控制
本篇我将学习如何使用多线程。要使用多线程,因为Linux没有给一般用户直接提供操作线程的接口,我们使用的接口,都是系统工程师封装打包成原生线程库中的。那么就需要用到原生线程库。因此,需要引入-lpthread,即连接原生…...

【LeetCode】剑指 Offer(20)
目录 题目:剑指 Offer 38. 字符串的排列 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 38. 字符串的…...

FutureTask中的outcome字段是如何保证可见性的?
最近在阅读FutureTask的源码是发现了一个问题那就是源码中封装结果的字段并没有使用volatile修饰,源码如下:public class FutureTask<V> implements RunnableFuture<V> {/*** 状态变化路径* Possible state transitions:* NEW -> COMPLET…...

直播回顾 | 聚焦科技自立自强,Bonree ONE 助力国产办公自动化平稳替代
3月5日,两会发布《政府工作报告》,强调科技政策要聚焦自立自强。 统计显示,2022年金融信创项目数同比增长300%,金融领域信创建设当前已进入发展爆发期,由国有大型银行逐渐向中小型银行、非银金融机构不断扩展。信创云…...

深入理解Linux进程
进程参数和环境变量的意义一般情况下,子进程的创建是为了解决某个问题。那么解决问题什么问题呢?这个就需要进程参数和环境变量来进行决定的。子进程解决问题需要父进程的“数据输入”(进程参数 & 环境变量)设计原则:3.1 子进程启动的时候…...
Vue3之组件间的双向绑定
何为组件间双向绑定 我们都知道当父组件改变了某个值后,如果这个值传给了子组件,那么子组件也会自动跟着改变,但是这是单向的,使用v-bind的方式,即子组件可以使用父组件的值,但是不能改变这个值。组件间的…...

Java语法基础(一)
目录 代码注释方法 编码规范 基本数据类型及取值范围 变量和常量的声明与赋值 变量 常量 标识符 基本数据类型的使用 整数类型的使用 浮点类型的使用 布尔类型的使用 字符类型的使用 代码注释方法 单行注释:使用“//”进行单行注释多行注释:使…...

优思学院|零质量控制是什么概念?
零质量控制(Zero Quality Control)是指一个理想的系统,可以生产没有任何缺陷的产品,因此不需要频繁的检查,从而节省时间和金钱。那些追求过程优化并致力于持续过程改进的组织将零质量控制(Zero Quality Con…...
2023-03-09 CMU15445-Query Execution
摘要: CMU15445, Project #3 - Query Execution 参考: Project #3 - Query Execution | CMU 15-445/645 :: Intro to Database Systems (Fall 2022) https://github.com/cmu-db/bustub 要求: OVERVIEW At this point in the semester, you have implemented the internal co…...

vuedraggable的使用
Draggable为基于Sortable.js的vue组件,用以实现拖拽功能。 特性 支持触摸设备 支持拖拽和选择文本 支持智能滚动 支持不同列表之间的拖拽 不以jQuery为基础 和视图模型同步刷新 和vue2的国度动画兼容 支持撤销操作 当需要完全控制时,可以抛出所有变化 可…...

双馈风力发电机-900V直流混合储能并网系统MATLAB仿真
MATLAB2016b主体模型:双馈感应风机模块、采用真实风速数据。混合储能模块、逆变器模块、转子过电流保护模块、整流器控制模块、逆变器控制模块。直流母线电压:有功、无功输出(此处忘记乘负一信号输出),所以是负的。蓄电…...
leader选举过程
启动electionTimer,进行leader选举。 一段时间没有leader和follower通信,就会超时,开始选举leader过程。有个超时时间,如果到了这个时间,就会触发一个回调函数。具体如下: private void handleElectionTimeout() {boo…...

建造者模式
介绍 Java中的建造者模式是一种创建型设计模式,它的主要目的是为了通过一系列简单的步骤构建复杂的对象,允许创建复杂对象的不同表示形式,同时隐藏构造细节.它能够逐步构建对象,即先创建基本对象,然后逐步添加更多属性或部件,直到最终构建出完整的对象. 该模式的主要思想是将…...

IO与NIO区别
一、概念 NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。 二、NIO和IO的主要区别 下表总结了Java I…...

无监督循环一致生成式对抗网络:PAN-Sharpening
Unsupervised Cycle-Consistent Generative Adversarial Networks for Pan Sharpening (基于无监督循环一致生成式对抗网络的全色锐化) 基于深度学习的全色锐化近年来受到了广泛的关注。现有方法大多属于监督学习框架,即对多光谱࿰…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...