Matlab 学习笔记 (部分内容系转载)

2023-11-12

由于要参加数学建模比赛的原因,我需要在不到一周的时间内初步地学习Matlab。

因此,我希望把我在学习过程中阅读的资料记录下来,方便跟我一样需要在较短时间内速成Matlab的同学。

基本上我记录的东西都是从网上的资料总结而来。所以这篇文章更偏向是一个资料汇总类的东西。

凡是给过我帮助的资料我都已经列在“参考资料”里,为了美观就不在具体内容里标注引用了,请见谅。

另外,还有部分内容引自《MATLAB在数学建模中的应用》,一并感谢。

我使用的MATLAB版本是r2012a。绝大部分代码我都在本机运行过。由于资源的来源很多,代码风格可能不太一致。


博主最终学了一点点就干别的去了。。数模比赛也悲剧了。。所以此文烂尾了。。不过博主如果以后还要学习matlab,可能会再来更新也说不定。


一、基本操作


Matlab使用的是M语言,是一种解释性语言。
M语言文件的后缀名是.m。Matlab特有的数据存储格式是.mat。
Matlab默认的编程界面是控制行窗口,要新建.m文件可以点击File->New->Script。

常规操作我就不过多解释了。

若要了解某一函数的调用方式,直接在命令行窗口输入“help XXX”即可。


给出一些参考资料:

Matlab操作方法

MATLAB数据类型

matlab中数组元素引用




二、数据交互


1、从纯数据txt文件中读取数据

使用简单粗暴的LOAD/SAVE函数。
LOAD可以读MAT-file data或者用空格间隔的格式相似的ASCII data。SAVE可以将MATLAB变量写入MAT-file格式或者空格间隔的ASCII data。

eg:

M = load('test.txt')     % 从input.txt中读一个矩阵M。
M = M + 5       % 把M的每个元素加上5
save output M     % 把M保存在output.mat文件中
save output.txt M -ascii     % 把M以ASCII形式保存在output.txt文件中

2、从txt文件中按照特定格式读取数据

使用TEXTREAD/STRREAD函数
[A,B,C,…] = textread(filename,format,N)
其中括号里面变量的个数必须和format中定义的个数相同。 如果每N行相同格式的数据,可采用[A,B,C,…] = textread(filename,format,N)的语法,读取N次。
textread不用先fopen那个文件,适用于格式统一的txt文件的一次性大批量读取。textread读取某个文件后,下次再用textread读取这个文件时,还是会从文件头开始读取。
eg:

[data1,data2,data3,data4,data5] = textread('output.txt','%f %f %f %f %s',150,'delimiter',',');     % 以','为分隔符
[data1,data2,data3,data4] = textread('output.txt','%n %n %n %n','delimiter', ',','headerlines', 5);     % 跳过开头的5行 
[data1,data2,data3,data4] = textread('output.txt' , '%s %s %*f %d %s', 1)     % ‘*f ’告诉textread跳过一个浮点数。
[data] = textread('output.txt','%s %*[^\n]');    % [^\n] 就是一直读到行尾,%*[^\n] 是一直跳到行尾。可用于只读取第一列
[data1,data2,data3,data4] = textread('output.txt','%s test %d %f %d %s', 1)    % 忽略‘test’,只读取后面的数字

3、从txt文件中读取特定区域的数据:

下面这个函数是取filein中的第line行写入fileout中的程序: 

function dataout=dataread(filein,fileout,line) 
fidin=fopen(filein,'r'); 
fidout=fopen(fileout,'w'); 
nline=0; 
while ~feof(fidin) % 判断是否为文件末尾 
tline=fgetl(fidin); % 从文件读行 
nline=nline+1; 
if nline==line 
fprintf(fidout,'%s\n',tline); 
dataout=tline; 
end 
end 
fclose(fidin); 
fclose(fidout); 

调用格式:dataout=dataread(filein,fileout,line) 


如果txt文件数据是矩阵形式的,而没有其它的文字,用下面的程序就可以读任意行任意列的数据 

a=textread('ll.txt'); 
t=a(1:43,4:10);   % 1:43是1到43行,4:10是4到10列的数据


4、读取Excel文件 

使用xlsread、xlswrite函数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab 学习笔记 (部分内容系转载) 的相关文章

  • 记一次mybatis-plus遇到的问题

    在用了 springboot 和 mybatis plus很久之后 有一天突然看到配置文件有点繁杂 想将相同的配置拉到application yml里 就在将配置拉过去后 问题就开始出现了 在调用 baseMapper method 的时候
  • 【杰发科技AC7802x测评】4,RTC串口输出

    起初我认为AC7802X的实时实钟会很难 我想留着以后再评吧 可是今天看了RTC说明突然开了悟了 原来RTC只是个计数器 我打开例程并没有发现RTC时钟的例程 到是有个秒中断例程 那也不要紧我把它的功能补全吧 typedef struct
  • 【C++基础学习】引起类模板被实例化情形总结

    在我们使用类模板时 只有当代码中使用了类模板的一个实例的名字 而且上下文环境要求必须存在类的定义时 这个类模板才被实例化 并不是每次使用一个类都要求知道该类的定义 1 声明一个类模板的指针和引用 不会引起类模板的实例化 因为没有必要知道该类
  • 虚拟DOM和真实DOM的区别

    DOM DOM意思是文档对象模型 Dcoument Object Model 它是一个结构化文本的抽象 操作DOM 所以 只要我们想要动态修改网页的内容的时候 我们就修改DOM var item document getElementByI
  • 第二章:25+ Python 数据操作教程(第十七节PYTHON 字典理解与示例)持续更新中

    在本教程中 我们将介绍 Python 中字典理解的工作原理 它包含各种示例 可以帮助您学习字典理解的概念以及如何在现实场景中使用它 什么是词典 字典是Python中的一种数据结构 用于存储数据 以便将值与其相关的键连接起来 大致来说 它的工
  • mac终端操作文件或文件夹(持续更新)

    1 复制文件夹 有文件 cp R 要复制的文件 要复制到哪个路径 2 复制文件 cp 要复制的文件 要复制到哪个路径 3 移动文件夹 mvdir 你要移动的文件夹 要移动到哪里
  • C++ 变量类型

    C 变量类型 变量其实只不过是程序可操作的存储区的名称 C 中每个变量都有指定的类型 类型决定了变量存储的大小和布局 该范围内的值都可以存储在内存中 运算符可应用于变量上 变量的名称可以由字母 数字和下划线字符组成 它必须以字母或下划线开头
  • 手搓のTensorRT网络

    用过TensorRT的基本都接触过trtexec 1 可以方便快捷地将你的ONNX模型转换为TensorRT的engine trtexec onnx model onnx 其中原理是啥 这就涉及到了另外一个库onnx tensorrt 2
  • git 获取不到gitLab创建的新分支

    当我们在日常开发功能的时候 肯定会涉及到新建分支的问题 这时候我们本地的IDE就无法去切换新创建好的分支 因为切换的时候根本找不到那个新建的分支 此时可以可以去通过刷新分支达到发现新分支的目的 找到项目的路径并打开Git Bash Here
  • 第一次作业

    include stm32f4xx h include sys h include delay h include led h include key h int main void u8 MENU NVIC PriorityGroupCo
  • Integer中parseInt(),valueOf(),toString()的区别

    1 parseInt String s int radix 以给出的radix解析s 当不给出radix时 与valueOf 的作用一样 只是s不要超出Integer的范围 2 valueOf String s 把s转换成Integer类型
  • c语言5的阶乘流程图_C语言学习 算法

    1 程序 对数据和操作的描述 算法 数据结构 程序 2 算法的特性 有穷性 在合理的范围内 确定性 无歧义 有零个或多个输入 有一个或多个输出 有效性 3 算法的表示 自然语言 日常用的语言 汉语 英语或其他语言 流程图 4 传统流程图即3
  • 记录Spring boot 项目中druid SQL验证报错但是系统功能正常 报后端报 merge sql error 前端数据查询正常

    异常代码 20 17 49 331 http nio 8081 exec 6 ERROR c a d f s StatFilter mergeSql 169 merge sql error dbType oracle druid 1 2 8
  • SpringBoot整合——阿里云对象存储(OSS)

    SpringBoot整合 阿里云对象存储 1 OSS介绍 在开发应用的过程中 我们经常会有用户需要实名认证之后才能访问的需求 用户认证需要上传证件图片 首页轮播也需要上传图片 因此我们要做文件服务 阿里云oss是一个很好的分布式文件服务系统
  • Docker安装RabbitMQ

    本篇博客主要记录在centos7当中安装RabbitMQ 并且安装完成之后使用外部客户端链接 目录 一 查看docker环境是否正常 二 下载rabbitmq的镜像 三 创建rabbitmq容器 四 访问地址 一 查看docker环境是否正
  • xxx.app已损坏,打不开。您应该将它移到废纸篓解决方法

    1 打开终端 2 在终端中依次输入一下代码 sudo spctl master disable xattr cr Applications xxx app

随机推荐