matlab怎么连接数据库

matlab怎么连接数据库,第1张

一、使用Windows系统自带的数据源工具创建基于Access的数据库。具体步骤是:控制面板--》管理工具--》数据源(ODBC)---》用户DSN--》添加。创建数据源SampleDB。

二、在Matlab中连接ODBC数据源:可以使用database工具箱或者代码编程的方式,下面介绍编程的方式

1、连接数据库:

conn=database( 'SampleDB' , '' , '' )

2、测试数据库是否连接成功

ping(conn)

3、打开游标,并把执行SQL语句

cursor = exec(conn,'select from PeopleInfo')

4、读取数据,可以从游标中读取,也可直接读取

result=fetch(cursor)

5、关闭游标和链接

close(cursor)

close(conn)

备注:上面是采用cursorfetch的方式,也可采用databasefetch的方式

conn=database()

result=fetch(conn, sqlquery)

而cursorfetch 的编码方式是:

conn=database()

curs=exec(conn, sqlquery)

curs=fetch(curs)

result = cursData

[FileName,PathName] = uigetfile('dat', 'Select all the dat-files ', 'MultiSelect', 'on'); %%选择所有dat文档,必须是所有!

for ii = 1:cc

filepath{1,ii} = fullfile(PathName, FileName{ii});

end

fid = fopen(filepath{1,1},'r');

然后用fscanf读取。

要详细一点的话得把dat文档贴上来,不然不好写

你想读哪些数据??

其实matlab读取txt文件是最快的,而且你的数据非常整齐,加起来一共是100行100列,非常整齐的数据,所以你把这些数据弄到一个txt文件里,如名为“11111txt”。

在主程序下编写下面的程序:

infilename=input(文件名:,"s") %%%文件须在matlab\work路径下

注意:输入文件名的时候一定要输入扩展名(txt)

infile=load(infilename); %%数据已经非常完整的存到了数组infile

你需要哪一列,或哪一行,直接提取就可以了!!

你可以直接在m文件里面用xlswrite函数:(filename/sheet/range都是要加单引号滴)

xlswrite(filename,

M);将矩阵M的数据写入名为filename的Excel文件中。

xlswrite(filename,

M,

sheet);将矩阵M的数据写入文件名为filename中的指定的sheet中。

xlswrite(filename,

M,

range);将矩阵M中的数据写入文件名为filename的Excel文件中,且由range制定存储的区域,例如'C1:C2'

xlswrite(filename,

M,

sheet,

range)

;在上一条命令的基础上指定了所要存储的sheet。

status

=

xlswrite(filename,

)

;返回完成状态值。如果写入成功,则status为1;反之写入失败,则status为0

[status,

message]

=

xlswrite(filename,

);返回由于写入 *** 作而产生的任何错误或警告信息

应用举例

例一:将数据写入默认的工作表中

将一七元素向量写入testdataxls中。默认格式下,数据将写入文件中第一个工作表的A1至G1单元格。

xlswrite('testdataxls',

[127

502

-98

639

0

-2

56])

例二:将混合数据写入制定工作表中

d

=

{'Time',

'Temp';

12

98;

13

99;

14

97};

s

=

xlswrite('tempdataxls',

d,

'Temperatures',

'E1')

s

=

1

Time

Temp

12

98

13

99

14

97

例三:向文件中添加新的工作表

现将上例中的数据写入tempdataxls中并不存在的一个工作表中,在这种情况下,xlswrite会添加一个新的工作表,名称由用户指定,此时xlswrite会显示警告提示添加了新的工作表。xlswrite('tempdataxls',

d,

'NewTemp',

'E1')

Warning:

Added

specified

worksheet

如果不想看到这些警告,可以输入下列命令。

warning

off

MATLAB:xlswrite:AddSheet

再一次输入写入命令,这次创建另外一个新的工作表NewTemp2,此时不再显示提示信息,但仍可以用msg命令提取该信息。

[stat

msg]

=

xlswrite('tempdataxls',

d,

'NewTemp2',

'E1');

msg

msg

=

message:

'Added

specified

worksheet'

identifier:

'MATLAB:xlswrite:AddSheet'

book

方法/步骤

获取第一层文件夹下的所有文件夹以及数据信息结构体。

例如:主路径是SourcePath

可以通过相对路径代码cd(SourcePath);File1NameFormation=dir('')获取当前路径下所有文件夹信息并且将文件夹信息保存在File1NameFormation中。也可以使用绝对路径:File1NameFormation=dir('SourcePath\');对于需要列出什么类型的文件可以通过将''改成'xxx';其中XXX为类型文件扩展名

对路径扩展进行计数,循环进行分文件夹读取

File1Number=numel(File1NameFormation);或者File1Number=size(File1NameFormation,1);通过获取当前文件夹中有多少层文件夹。

对得到的文件夹通过计数进行循环,进入次文件夹一次继续读取文件。

但是这里需要注意的是,如果是文件夹需要从第三个文件夹读取,因为''和''一个为当前文件夹一个为上一层文件夹,所以需要从第三个文件读取,可以通过第二个返回上一层文件夹。

可以发现进入子文件后就进入循环了,返回了第一步。在这里可以整合所有的代码

cd(SourcePath)

File1NameFormation=dir('');

File1Number=numel(File1NameFormation)

for LoopFile1Number=3:File1Number

NowPath=fullfile(SourcePath,File1NameFormation(LoopFile1Number)name

end

回顾整个过程,重复写的代码很多,在这里我们可以通过运用递归的思维写一个读取数据代码。

这里通过循环来写读取文件函数。

function ReadFile(MainPath,FileType,FileLayer)

%%%%%%%%%%%%%%

%MainPath为主路径,FileType为需要读取的文件类型,FileLayer为文件类型在哪一层文件下

cd(MainPath);

if(FileLay>=0)

PathFileFormation=dir('');

PathNumber=numel(PathFileFormation);

for LoopPathNumer=3:PathNumber

Path=fullfile(MainPath,PathFileFormation(LoopPathNumber)name);

ReadFile(Path,FileType,FileLayer-1)

end

else

PathFileFormation=dir('FileType');

PathNumber=numel(PathFileFormation);

for LoopPathNumer=3:PathNumber

Path=fullfile(MainPath,PathFileFormation(LoopPathNumber)name)

end

end

常用的通用分布函数如下:

1) pdf:用于生成各类概率分布的PDF

2) cdf:用于生成各类概率分布的CDF

3) icdf:用于生成各类概率分布的inverse CDF

4) random:用于生成各类概率分布的随机数

5) fitdist:用于生成各类概率分布拟合给定随机数据的统计参数(如均值、方差)

常用的专用分布函数如下:(表示通配符,用于指定特定分布)

1) pdf:生成特定的概率分布的PDF

以上就是关于matlab怎么连接数据库全部的内容,包括:matlab怎么连接数据库、matlab读取多个数据文件、如何用matlab读大量数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9813227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存