首页 > 试题

matlab中exp

更新时间:2022-12-08 05:59:33 阅读: 评论:0

中考真题分类汇编试卷-予的部首


2022年12月8日发(作者:黑洞里面是什么)

d读入数据

[a3,h_lukou]=xlsread('','sheet3');%指定工作表中数据,表头和字符数据存入h_lukou

[a,h_lukou]=xlsread('','lukou');%指定工作表中数据,表头和字符数据存入h_lukou

[a,h_lukou]=xlsread('','A2:C3');%读取指定区域的数据

[g=xlsread('','A2:C300')%读取指定区域的数据

2.文本数据

1)a=textread('');%这种读取的信息自动分隔,可带格式

读整个文件,例见B2011_fig.m

2)textscan

fr=fopen('','r');txt数据空格分隔

g1=textscan(fr,'%d%d%d%fn');%读一行中指定格式的内容,指针移到未读处

g1=textscan(fr,'%d%d%d%fn',N);%同一格式重复读N次,(包括P87例2.10

好像不执行)

fr=fopen('','r');txt数据’,’分隔

g1=textscan(fr,'%d%d%d%fn','delimiter',',');

textscan更适合读入大文件;

textscan可以从文件的任何位置开始读入,而textread只能从文件开头开始读入;

textscan也可以从上一次textscan结束的位置开始读入,而textread不能;

textscan只返回一个数组,而textread要返回多个数组;

textscan提供更多转换读入数据的选择;

textscan提供给用户更多的配置参数。

总之就是说textscan比textread要牛

2)逐行读TXT格式数据

fr=fopen('');%打开要读的文件并送入“fr”,这是缺省“rt”形式。

fout=fopen('','wt');%建立要写文件,tab分隔,若文件存在则清除原内容。

%‘at’,写入方式打开,建立或续写内容

%‘r+t’同时支持读、写方式

while~feof(fr)

a1=fgetl(fr);%读取整行,按字符处理,会自动移动指针,但只对文本文件有效

%下面判断首字符是否为数值

ifdouble(a1(1))>=48&&double(a1(1))<=57

fprintf(fout,'%sn',a1);%写入文件

fprintf(1,'%sn',a1);%显示器显示

%continue%移动指针的,现在不需要

end

end

fclo(fout);%关闭文件

fclo(fr);

注:调用函数控制读写位置

a)fek(fr,offt,origin)

其中,fr—为fopen()返回的文件标示符,操作成功返回0,否则为-1.

offt—整型变量,移到指正的方向和字节数:

offt>0,当前位置向“尾”移动offt字节;

offt=0,当前位置不移动;

offt<0,当前位置向“头”移动offt字节;

origin—指定指针的参考位置,取值为:

‘bf’or-1,文件开头

‘cof’or0,文件当前位置

‘eof’or1,文件尾

b)ftell(fr)

获取指针离文件开头的字节数,若值为-1表示未成功调用。

c)frewind(fr)

移动指针到文件开头。

d)feof(fr)判断文件是否到文件尾

fgets、fgetl读取文件的下一行,指针自动下移。

二者的区别:前者包括换行符,后者不包括。

如:fgets(fr,10)%读取fr一行的最多10个字符。

3)a2=dlmread('')%读整个数据

数据‘,’分隔的可指定读取数据的起始行、列(注意0行0列开始编号),如:

a2=dlmread('',',',5,3)

4)A=load('')%读整个数据

5)importdata('filename','delimiter','headerline’)

如空格分隔,无表头:

importdata('')

也可importdata(''),但不能指定工作表多。

te导出数据

xlswrite('',d,'Temperatures','E1')

%将数组d的数据写至文件,新建工作表'Temperatures',从该工作表的E1单元格开始写

入。如:程序见B2011_try.m

xlswrite('',b,'xian_chang','A1');%将矩阵b写入的xian_chang工作表,从A1开始写

xlswrite('',d,'fuwutai_zx','A1');%将矩阵d写入的fuwutai_zx工作表,从A1开始写

xlswrite('',d1,'fuwutai_hx','E5');%将矩阵d1写入的fuwutai_hx表,从E5开始写

%上术三条可同时执行

4.不建议使用下面命令进行数据导出

%导出数据:用dlmwrite('',c),b表示数值矩阵,文件为类型为excel,但各列之间“,”分隔,

如:

dlmwrite('',b);

%建议分两步走:先将MATLAB数据导成txt文件,即dlmwrite('',b),再打开excel,将txt

数据导入excel即可。

dlmwrite('',b);

MS-Excel电子表格文件xlsinfo获得文件信息

使用命令[type,sheets]=xlsfinfo(filename)返回文件类型type和工作表信息。如:[type,

sheets]=xlsfinfo('')

函数功能

csvread读入以逗号分隔的数据

csvwrite将数据写入文件,数据间以逗号分隔

dlmread将以ASCII码分隔的数值数据读入到矩阵中

dlmwrite将矩阵数据写入到文件中,以ASCII分隔

textread从文本文件中读入数据,将结果分别保存

textscan从文本文件中读入数据,将结果保存为单元数组

下面详细介绍这些函数。

d、csvwrite

csvread函数的调用格式如下:

●M=csvread('filename'),将文件filename中的数据读入,并且保存为M,filename

中只能包含数字,并且数字之间以逗号分隔。M是一个数组,行数与filename的行数相

同,列数为filename列的最大值,对于元素不足的行,以0补充。

●M=csvread('filename',row,col),读取文件filename中的数据,起始行为row,

起始列为col,需要注意的是,此时的行列从0开始。

●M=csvread('filename',row,col,range),读取文件filename中的数据,起始

行为row,起始列为col,读取的数据由数组range指定,range的格式为:[R1C1R2

C2],其中R1、C1为读取区域左上角的行和列,R2、C2为读取区域右下角的行和列。

csvwrite函数的调用格式如下:

●csvwrite('filename',M),将数组M中的数据保存为文件filename,数据间以逗号

分隔。

●csvwrite('filename',M,row,col),将数组M中的指定数据保存在文件中,数据由

参数row和col指定,保存row和col右下角的数据。

●csvwrite写入数据时每一行以换行符结束。另外,该函数不返回任何值。

13.3低级文件I/O

本节介绍一些基本的文件操作,这些操作如表13-3所示。

表13-3MATLAB的基本文件操作

函数功能

fclo关闭打开的文件

feof判断是否为文件结尾

ferror文件输入输出中的错误查找

fgetl读入一行,忽略换行符

fgets读入一行,直到换行符

fopen打开文件,或者获取打开文件的信息

fprintf格式化输入数据到文件

fread从文件中读取二进制数据

frewind将文件的位置指针移至文件开头位置

fscanf格式化读入

fek设置文件位置指针

ftell文件位置指针

fwrite向文件中写入数据

下面重点介绍函数fprintf。该函数的调用格式如下:

count=fprintf(fid,format,A,...),该语句将矩阵A及后面其他参数中数字

的实部以format指定的格式写入到fid指定的文件中,返回写入数据的字节数。

上面语句中,参数format由%开头,共可由4个部分组成,分别如下:

●标记(flag),为可选部分。

●宽度和精度指示,为可选部分。

●类型标志符,为可选部分。

●转换字符,为必需部分。

1.标记

标记用于控制输出的对齐方式,可以选择的内容如表13-4所示。

表13-4标记的可选内容

函数功能示例

负号(-)在参数左侧进行判别%-5.2d

加号(+)在数字前添加符号%+5.2d

空格在数字前插入空格%5.2d

0在数字前插入0%05.2d

2.宽度和精度指示

用户可以通过数字指定输出数字的宽度及精度,格式如下:

●%6f,指定数字的宽度;

●%6.2f,指定数字的宽度及精度;

●%.2f,指定数字的精度。

例13-6fprintf函数宽度和精度指示符示例。

在命令窗口中输入如下命令:

>>file_type=fopen('D:','w');

>>fprintf(file_h,'%6.2f%12.8fn',1.2,-43.3);

>>fprintf(file_h,'%6f%12fn',1.2,-43.3);

>>fprintf(file_h,'%.2f%.8fn',1.2,-43.3);

>>fclo(file_h)

ans=

0

打开该文件,其内容为:

1.20-43.30000000

1.200000-43.300000

1.20-43.30000000

从上述结果可以看出宽度和精度控制的效果。

3.转换字符

转换字符用于指定输出的符号,可以选择的内容如表13-5所示。

表13-5格式化输出的标志符及意义

标志符意义

%c输出单个字符

%d输出有符号十进制数

%e采用指数格式输出,采用小写字母e,如:3.1415e+00

%E采用指数格式输出,采用大写字母E,如:3.1415E+00

%f以定点数的格式输出

%g%e及%f的更紧凑的格式,不显示数字中无效的0

%G与%g相同,但是使用大写字母E

%i有符号十进制数

%o无符号八进制数

%s输出字符串

%u无符号十进制数

%x十六进制数(使用小写字母a-f)

%X十六进制数(使用大写字母A-F)

其中%o、%u、%x、%X支持使用子类型,具体情况这里不再赘述。格式化输出标志

符的效果见下面的例子。

例13-7fprintf格式化输出示例。

>>x=0:.1:1;

>>y=[x;exp(x)];

>>fid=fopen('','wt');

>>fprintf(fid,'%6.2f%12.8fn',y);

>>fclo(fid)

ans=

0

显示该文件:

>>

0.001.00000000

0.101.10517092

0.902.45960311

1.002.71828183

例13-9利用fprintf函数在显示器上输出字符串

>>fprintf(1,'It''sFriday.n')

It'sFriday.

在该例中,利用1表示显示器,并且用两个单引号显示单引号,使用n进行换行。

在格式化输出中,这类符号称为转义符。MATLAB中的常用转义符如表13-6所示。

表13-6MATLAB中的常用转义符

转义符功能

b退格

f表格填充

n换行符

r回车

ttab

,反斜线

''或''',单引号

%%%,百分号

本文发布于:2022-12-08 05:59:33,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/64225.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:杨辉三角规律
标签:matlab中exp
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图