日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

matlab如何读取txt文本数据? matlab读取txt文件的技巧

發布時間:2023/12/31 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 matlab如何读取txt文本数据? matlab读取txt文件的技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MathWorks Matlab R2020a v9.8.0 中文永久授權版(附序列號+激活補丁+教程) Win64位

  • 類型:編程其它
  • 大小:20.8GB
  • 語言:簡體中文
  • 時間:2021-05-11

查看詳情

Mathworks Matlab R2021b (9.11.0) 中文完美授權版(含激活補丁+教程) Win64

  • 類型:編程其它
  • 大小:19.3GB
  • 語言:簡體中文
  • 時間:2021-09-26

查看詳情

如何編寫MATLAB程序才能實現對.TXT文檔的讀寫呢?

MATLAB提供了一系列低層輸入輸出函數,專門用于文件操作。本文提供了幾種Matlab讀寫文件的方法和預寫的腳本。

Matlab讀取 .txt文件

這里提供兩種方法:

  • 1,load()函數
  • 2,importdata()函數

一、對于load()函數

例子,data_txt.txt內容如下:

0   1.000000   1.000000   1.000000
1   3.000000   4.000000   5.000000
2   5.000000   7.000000  9.000000
3  7.000000   10.00000   13.00000
4   9.000000   13.00000   17.00000
5   11.00000   16.00000   21.00000

example_load_txt.m 內容如下:

clear all;
close all;
clc
%對于類似的txt文件,不含有字符,只有數字
data=load('F:\F桌面文件\data_txt.txt');
x=data(:,1);
y1=data(:,2);
y2=data(:,3);
y3=data(:,4);
plot(x,y1,'r--',x,y2,'bo',x,y3,'ks')

二、對于importdata()函數

例子,data_txt_string.txt內容如下:

i   co    c1     c2
0 1.000000 1.000000 1.000000
1 3.000000 4.000000 5.000000
2 5.000000 7.000000 9.000000
3 7.000000 10.00000 13.00000

example_importdata_txt.m 內容如下:

clear all;
close all;
clc
%只是第一行有字符,則使用importdata可直接讀取數據
data1=importdata('F:\F桌面文件\data_txt_string.txt');
data2=data1.data; %若沒有這一步,出不出來圖。
x=data2(:,1);
y1=data2(:,2);
y2=data2(:,3);
y3=data2(:,4);
plot(x,y1,'r--',x,y2,'bo',x,y3,'ks');

1、文件的打開與關閉

1)打開文件

在讀寫文件之前,必須先用fopen函數打開或創建文件,并指定對該文件進行的操作方式。fopen函數的調用格式為:

fid=fopen(文件名,‘打開方式’)

說明:其中fid用于存儲文件句柄值,如果返回的句柄值大于0,則說明文件打開成功。文件名用字符串形式,表示待打開的數據文件。常見的打開方式如下:

‘r’:只讀方式打開文件(默認的方式),該文件必須已存在。
‘r+’:讀寫方式打開文件,打開后先讀后寫。該文件必須已存在。
‘w’:打開后寫入數據。該文件已存在則更新;不存在則創建。
‘w+’:讀寫方式打開文件。先讀后寫。該文件已存在則更新;不存在則創建。
‘a’:在打開的文件末端添加數據。文件不存在則創建。
‘a+’:打開文件后,先讀入數據再添加數據。文件不存在則創建。

另外,在這些字符串后添加一個“t”,如‘rt’或‘wt+’,則將該文件以文本方式打開;如果添加的是“b”,則以二進制格式打開,這也是fopen函數默認的打開方式。

2)關閉文件

文件在進行完讀、寫等操作后,應及時關閉,以免數據丟失。關閉文件用fclose函數,調用格式為:

sta=fclose(fid)

說明:該函數關閉fid所表示的文件。sta表示關閉文件操作的返回代碼,若關閉成功,返回0,否則返回-1。如果要關閉所有已打開的文件用fclose(‘all’)。

2、二進制文件的讀寫操作

1)寫二進制文件

fwrite函數按照指定的數據精度將矩陣中的元素寫入到文件中。其調用格式為:

COUNT=fwrite(fid,A,precision)

說明:其中COUNT返回所寫的數據元素個數(可缺?。?,fid為文件句柄,A用來存放寫入文件的數據,precision代表數據精度,常用的數據精度有:char、uchar、int、long、float、double等。缺省數據精度為uchar,即無符號字符格式。

例6.8 將一個二進制矩陣存入磁盤文件中。

a=[1 2 3 4 5 6 7 8 9];
fid=fopen(‘d:\test.bin’,‘wb’) %以二進制數據寫入方式打開文件
fid =
3 %其值大于0,表示打開成功
fwrite(fid,a,‘double’)
ans =
9 %表示寫入了9個數據
fclose(fid)
ans =
0 %表示關閉成功

2)讀二進制文件

fread函數可以讀取二進制文件的數據,并將數據存入矩陣。其調用格式為:

[A,COUNT]=fread(fid,size,precision)

說明:其中A是用于存放讀取數據的矩陣、COUNT是返回所讀取的數據元素個數、fid為文件句柄、size為可選項,若不選用則讀取整個文件內容;若選用則它的值可以是下列值:N(讀取N個元素到一個列向量)、inf(讀取整個文件)、[M,N](讀數據到M×N的矩陣中,數據按列存放)。precision用于控制所寫數據的精度,其形式與fwrite函數相同

3、文本文件的讀寫操作

1)讀文本文件

fscanf函數可以讀取文本文件的內容,并按指定格式存入矩陣。其調用格式為:

[A,COUNT]=fscanf(fid,format,size)

說明:其中A用來存放讀取的數據,COUNT返回所讀取的數據元素個數,fid為文件句柄,format用來控制讀取的數據格式,由%加上格式符組成,常見的格式符有:d(整型)、f(浮點型)、s(字符串型)、c(字符型)等,在%與格式符之間還可以插入附加格式說明符,如數據寬度說明等。size為可選項,決定矩陣A中數據的排列形式,它可以取下列值:N(讀取N個元素到一個列向量)、inf(讀取整個文件)、[M,N](讀數據到M×N的矩陣中,數據按列存放)。

2)寫文本文件

fprintf函數可以將數據按指定格式寫入到文本文件中。其調用格式為:

fprintf(fid,format,A)

說明:fid為文件句柄,指定要寫入數據的文件,format是用來控制所寫數據格式的格式符,與fscanf函數相同,A是用來存放數據的矩陣。

例6.9 創建一個字符矩陣并存入磁盤,再讀出賦值給另一個矩陣。

a=‘string’;
fid=fopen(‘d:\char1.txt’,‘w’);
fprintf(fid,‘%s’,a);
fclose(fid);
fid1=fopen(‘d:\char1.txt’,‘rt’);
fid1=fopen(‘d:\char1.txt’,‘rt’);
b=fscanf(fid1,‘%s’)
b =
string

matlab讀txt文件

fid=fopen('fx.txt','r');
%得到文件號
[f,count]=fscanf(fid,'%f %f',[12,90]);
%把文件號1的數據讀到f中。其中f是[12 90]的矩陣
%這里'%f %f'表示讀取數據的形勢,他是按原始數據型讀出
fclose(fid);
%關閉文件

另外有的txt文件還可以用load來打開

其語句為

f=load('xxx.txt')

這里推薦用第一種方式較好。因為有些時候,特別是xxx.txt 的一行種有多個數據時用load就比較麻煩。而第一種方法可以批量導入文件。

matlab的文件讀取函數功能可以讀取各種文件類型,包括

  • textread(字母和數值每行格式一致)
  • xlsread(讀取excel文件)
  • importdata(字母和數值分開,以數字為主,字母只存在前幾行)
  • load(純數據)
  • dlmread(單一分隔符的純數據或ASCII數據文件)
  • textscan(類似于textread,但使用前必須fopen打開文件)
  • csvread(類似于xlsread,讀取.csv格式的文件)
  • fscanf(讀取已知文件格式的文本文件)

matlab對文件中混亂的文本格式讀取操作總結

對于本文字符數字較為混亂的文本進行文本操作需要對文件內部進行操作,包括文本位置指針,文件逐行讀取,字符匹配等等復雜操作。主要用到的幾個函數有

  • feek(設置指針位置)
  • ftell(獲得指針位置)
  • frewind(重設指針到文件起始位置)
  • feof(測試指針是否在文件結束位置)

具體用法:

  • fseek(fid,-1,’eof’),指針到末尾
  • fseek(fid,2,’bof’),起始位置后第二個字符位置
  • ftell(fid);找到指針位置
  • frewind(fid),指針回到起始
  • feof(fid)判斷指針是否在末尾

以上就是matlab讀取txt文件的技巧,希望大家喜歡,請繼續關注風君子博客。

相關推薦:

MATLAB怎么讀取Excel文件表格中的數據? Matlab讀取Excel文件指南

matlab中怎么求矩陣的轉置? matlab矩陣轉置命令使用技巧

總結

以上是生活随笔為你收集整理的matlab如何读取txt文本数据? matlab读取txt文件的技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。