首页 > 编程知识 正文

matlab怎么输入数据,matlab怎么输出数值

时间:2023-05-03 09:26:03 阅读:23101 作者:4633

matlab的数据输入输出有多种方式,但内容快速,不完整的几种用法如下,然后逐渐增加。 然后,在熟悉了这些事情之后再总结。

第一个内容:

txt文件(a.txt )的内容如下。

这是测试用的txt文件

项目1项目2项目3

1 2

2

2 3

3

可以按如下方式使用importdata命令:

文件内容=importdata (a.txt ) )。

运行此命令会导致以下结果:

文件内容=

data : [ 2x 3双精度]

文本数据: {2x1 cell }

1个row headers :

cell}

接下来,filecontent.data、filecontent.textdata、filecontent.data.rowheaders的内容如下:

filecontent.data=

1

2 2

2

3 3

filecontent.textdata=

"这是测试用的txt文件. "

"项目1项目2项目3 "

filecontent.rowheaders=

"这是测试用的txt文件. "

"项目1项目2项目3 "

内容快二:

可以跳过文本文件中第一个skip行的程序可以设计如下(虽然有这种想法,但需要是值得讨论的) :

函数输出=加载数据(文件名,skip ) )。

(() ) ) (() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )在652

%本程序的作用:导入文本文件中的数据。 跳过第一个skip行。

(() ) ) (() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )在652

% by : baby _ wolf contact : QQ 654832919

(() ) ) (() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )在652

%syntax:

% output=加载数据(文件名,skip ) )。

%

%filename :要导入的文件名(支持文本类型数据文件) ) ) ) ) ) ) ) )。

%skip:忽略的行数

%

%示例:

t=loaddata(Ceshi.dat ),3 );

%

(() ) ) (() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )在652

FID=fopen(filename,' r ' );

for i=1:skip

tmp=fgetl(FID );

结束

data=[];

while tmp~=-1

tmp=fgetl(FID );

if tmp~=-1

eval_r(['add=[ ',tmp

、()、)。 ];

结束

数据=[数据; 添加];

结束

OUTPUT=data;

fclose(FID;

内容快三:

在matlab中,fopen函数在指定文件中打开的示例如下:

*1)“fopen”打开文件,赋予文件编号。

语法1:FID=fopen (文件名称,权限) ) ) ) ) ) )。

用指定的方法打开文件

FID=n(n为正整数) :表示文件打开成功,文件编号为n。

FID=-1 :表示文件打开失败。

FID在关闭此次文件之前始终有效。

在读取中打开时,matlab首先搜索工作目录,然后搜索matlab中的其他目录。 “权限”是打开方式参数。

打开方法的参数由以下字符串决定:

r读出

w写入(如果文件不存在,则自动创建) ) ) ) )。

a后续写入(如果文件不存在,则自动创建) ) ) ) )。

r读取和写入(文件必须已经存在) )。

w重新更新写入。 (如果文件不存在,将自动创建。 )

a后续写入(如果文件不存在,将自动创建) )

w重新写入,但不自动刷新

a写入后,不自动刷新

的保存格式:打开文件的默认方法是二进制。 用文本打开后,可以用方法加入

将" rt "、" wt "等" t "文件添加到" permission "中

以下是fprintf函数在matlab中的具体用法示例。

fprintf函数可以用指定的格式将数据写入文本文件。 调用格式如下:

的格式输出: fprintf(FID,for

mat,

variables)

按指定的格式将变量的值输出到屏幕或指定文件

fid为文件句柄,若缺省,则输出到屏幕

1

for standard output (the screen) or 2 for standard error. If FID is

omitted, output goes to the screen.

format用来指定数据输出时采用的格式

%d

整数

%e

实数:科学计算法形式

%f

实数:小数形式

%g

由系统自动选取上述两种格式之一

%s

输出字符串

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('fx.txt)

内容快四:

数据格式形如:

276725;034545104X;0

276726;0155061224;5

276727;0446520802;0

276729;052165615X;3

文件是一个大约100万行3列的数组。第一列是用户编号,都是整数;第二列是书本isbn编号,有纯数字,也有字符X,N,isbn等甚至还可以有小数点;第三列是评分,为0-10的整数。现在我想把这个读到matlab中,最好是三列向量分开读。

fid = fopen('BX-Book-Ratings.txt');

UserData = textscan(fid,'%f %s

%f','Delimiter',';');

fclose(fid);

User = UserData{:,1};

Isbn = UserData{:,2};

score = UserData{:,3};

Userid = grp2idx(User);

Isbnid = grp2idx(Isbn);

内容快五:

MovieLens 1M的数据,里面的数据排列很规整,都是形如

1::1193::5::978300760

1::661::3::978302109

1::914::3::978301968

的格式,不过有100多万行,读取方式

>> fid =

fopen('MovieLens_1M.txt');

>> A = textscan(fid,'%f %*2s %f %*2s

%f %*2s %f','CollectOutput',1);

>> B = A{:};

>> B(1:10,:)

ans =

1 1193 5 978300760

1 661 3 978302109

1 914 3 978301968

1 3408 4 978300275

1 2355 5 978824291

1 1197 3 978302268

1 1287 5 978302039

1 2804 5 978300719

1 594 4 978302268

1 919 4 978301368

>> fclose(fid);

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。