Matlab学习-(2)
1. 文件读取
在编写一个matlab项目时候,通常要导入很多不同格式的数据,下面我们来学习不同的导入函数。
(1) 保存工作区
MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。
1.保存整个工作区
选择File菜单中的SaveWorkspaceAs…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。
2.保存工作区中的变量
在工作区浏览器中,右击需要保存的变量名,选择SaveAs…,将该变量保存为MAT文件。
3.利用save命令保存
该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式**如下:**
●save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。
●save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。
●save('filename','var1','var2',...):保存指定的变量在filename指定的文件中。
●save('filename','-struct','s'):保存结构体s中全部域作为单独的变量。
●save('filename','-struct','s','f1','f2',...):保存结构体s中的指定变量。
●save('-regexp',expr1,expr2,...):通过正则表达式指定待保存的变量需满足的条件。
●save('...,'format'),指定保存文件的格式,格式可以为MAT文件、ASCII文件等。
**举个例子 save train.out sigg1 -ascii**
2. 数据导入
(1)MATLAB中导入数据通常由函数load实现,该函数的用法如下:
●load:如果matlab.mat文件存在,导入matlab.mat中的所有变量,如果不存在,则返回error。
●loadfilename:将filename中的全部变量导入到工作区中。**(注意名字是字符串变量而且有括号)**
●loadfilenameXYZ...:将filename中的变量X、Y、Z等导入到工作区中,如果是MAT文件,在指定变量时可以使用通配符“*”。
●loadfilename-regexpexpr1expr2...:通过正则表达式指定需要导入的变量。
●load-asciifilename:无论输入文件名是否包含有扩展名,将其以ASCII格式导入;如果指定的文件不是数字文本,则返回error。
●load-matfilename:无论输入文件名是否包含有扩展名,将其以mat格式导入;如果指定的文件不是MAT文件,则返回error.
(2)MATLAB中,另一个导入数据的常用函数为importdata,该函数的用法如下:
●importdata('filename'),将filename中的数据导入到工作区中;
●A=importdata('filename'),将filename中的数据导入到工作区中,并保存为变量A;
●importdata('filename','delimiter'),将filename中的
数据导入到工作区中,以delimiter指定的符号作为分隔符
3. 文件的打开
(1) MATLAB中可以使用open命令打开各种格式的文件,MATLAB自动根据文件的扩展名选择相应的编辑器。
需要注意的是open('filename.mat')和load('filename.mat')的不同,前者将filename.mat以结构体的方式打开在工作区中,后者将文件中的变量导入到工作区中,如果需要访问其中的内容,需要以不同的格式进行。
(2)文本文件的打开
在上一节中介绍的函数和命令主要用于读写mat文件,而在应用中,需要读写更多格式的文件,如文本文件、word文件、xml文件、xls文件、图像文件和音视频文件等。本节介绍文本文件(txt)的读写。其他文件的读写,用户可以参考MATLAB帮助文档。
常用的打开文本文件的函数如下:
csvread
读入以逗号分隔的数据
csvwrite
将数据写入文件,数据间以逗号分隔
dlmread
将以ASCII码分隔的数值数据读入到矩阵中
dlmwrite
将矩阵数据写入到文件中,以ASCII分隔
textread
从文本文件中读入数据,将结果分别保存
textscan
可以参考matlab帮助文档 具体的函数信息13.4利用界面工具导入数据
4. 从文本文件中读入数据
结果保存为单元数组。除前面几节介绍的函数外,也可以通过界面工具将数据导入到工作区中。本节介绍利用工作区浏览器中的工具导入数据。选择工作区浏览器工具栏中的“ImportData”,选择待导入的文件,这里我们选择了一个文本文件,其内容为逗号分隔的数字。
Matlab学习-(2)的更多相关文章
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- matlab学习笔记(一)单元数组
matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x) :取最大的整数 ceil(3.18)=4,ceil( ...
- matlab学习笔记---(1)
Matlab学习笔记 一. Desktop Basics (Matlab 基础知识) 当你打开Matlab的时候,matlab按照以下默认的方式展示出来. 该桌面主要包括以下几部分内容: 当前文件夹: ...
- 【数学建模】MATLAB学习笔记——函数式文件
MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...
- MATLAB学习总结(1)
MATLAB学习总结(1) path help path cd(current directory) savepath pathtool
- matlab学习路线
知乎:matlab学习路线 MATLAB数学教学视频
- Matlab学习笔记(一)—— 三维图形绘制
这学期公选课选的是MATLAB,所以准备把这学期所学习的整理到博客上,作为记录,哇咔咔~ 一.三维函数图: x=cos(t), y=sin(t), z=t %≤t ≤*pi t=:*pi; %t的取值 ...
- Matlab学习笔记(1)
在帮助文档中查看学习视频的时候.出现以下对话框,不能查看 解决办法: 在系统环境变量中找到Path.添加“%SystemRoot%\system32;%SystemRoot%;%SystemRoo ...
- matlab学习日志之并行运算
原文地址:matlab并行计算,大家共同学习吧,涉及到大规模数据量处理的时候还是效果很好的 今天搞了一下matlab的并行计算,效果好的出乎我的意料. 本来CPU就是双核,不过以前一直注重算法,没注意 ...
随机推荐
- 图论-BFS-最小高度的树 Minimum Height Trees
2018-09-24 12:01:38 问题描述: 对于一个具有树特征的无向图,我们可选择任何一个节点作为根.图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树.给出这样的一个图,写 ...
- [math] Codeforces 597A Divisibility
题目:http://codeforces.com/problemset/problem/597/A Divisibility time limit per test 1 second memory l ...
- PAT-B 1040. 有几个PAT(25)
1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单 ...
- 基于arduino、百度云、采用django、redis鱼缸在线监控
大家好,今天我给大家分享一下之前做的一个鱼缸远程监控的案例,希望有人喜欢 首先给大家看一下结构框架,由于我之前买的arduino开发板不带wifi功能,所有是通过pc机转发一下上的百度云,最近我刚购买 ...
- OpenAI的GPT-2:用Python构建世界上最先进的文本生成器的简单指南
介绍 "The world's best economies are directly linked to a culture of encouragement and positive f ...
- 线段树(区间合并)HDU - 1540
题意:输入n,m,给定n个相互连通的村庄,有m个操作,D x,表示破坏x村庄使其与相邻的两个村庄不相通,R 表示修复上一个被破坏的村庄,与相邻的两个村庄联通.Q x表示与x相连的村庄有多少个. 思路: ...
- (连续的矩形)HDU - 1506
题意:7 2 1 4 5 1 3 3 直接讲数据 :给出7个矩形的高,底长都为1,求最大的连通的矩形块的面积 思路:如果暴力的话肯定超时,有一个特别巧妙的预处理,如果我们知道每一个矩形的左右两边能延 ...
- coding++:Java 中Model 与 实体的区别
model的字段>entity的字段,并且model的字段属性可以与entity不一致,model是用于前端页面数据展示的,而entity则是与数据库进行交互做存储用途. 举个例子: 比如在存储 ...
- coding++ :javascript Date format (js日期格式化)
方式一: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1 ...
- Java多线程工具类之循环栅栏计数器
Java多线程下循环计数器 本文主要内容:CyclicBarrier(下文中凯哥就用cycBar来代替)定义介绍:举例说明:代码演示:从源码来看原理及总结:CyclicBarrier与CountDow ...