matlab中如何将多个矩阵保存到同一个矩阵中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中如何将多个矩阵保存到同一个矩阵中?相关的知识,希望对你有一定的参考价值。

matlab中如何将多个矩阵保存到同一个文本文件中?
谢谢您

可以参考下面的代码:

%% 为了能批量进行,使用了eval函数

% 首先,为自己产生一个A,B,C,...的矩阵3*3的;

for index=1:17

eval([char(64+index) '=rand(3);']);

end

% 从下边开始是存到一个文件当中。

delete([pwd '\\data.txt']);

for index=1:17

eval(['dlmwrite([pwd ''\\data.txt''],' char(64+index) ',''-append'');']);

dlmwrite([pwd '\\data.txt'],' ','-append');

end

扩展资料:

MATLAB函数列举:

Cot( )余切(变量为弧度)

sind( )正弦(变量为度数)

Cotd( )余切(变量为度数)

asin( )反正弦(返回弧度)

acot( )反余切(返回弧度)

Asind( )反正弦(返回度数)

tand( )正切(变量为度数)

abs( )取绝对值

atan( )反正切(返回弧度)

angle( )返回复数的相位角

horcatC=[A,B],水平聚合矩阵,还可以用cat(1,A,B)

vercatC=[A;B],垂直聚合矩阵, 还可以用cat(2,A,B)

参考资料来源:百度百科-矩阵 (数学术语)

参考资料来源:百度百科-MATLAB

参考技术A

将A,B, C合并成D,然后再一次性保存为txt.

D=[A B C];

读入到txt建议用dlmwrite函数

例如:

有100个同维数的矩阵,使其从左到右的顺序保存到同一个txt文件中。

example:   A,B,C,D是25*3的矩阵

保存在txt文件中后的形式是: A B C D

编程了25*12的矩阵。

比如

---------------------------------------------------------

A                     B                 C

1 2 3              1 2 3           1 2 3

4 5 6              4 5 6            4 5 6

7 8 9               7 8 9           7 8 9

保存到txt文件中后的形式:

1 2 3 1 2 3 1 2 3

4 5 6 4 5 6 4 5 6

7 8 9 7 8 9 7 8 9

MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C、C++、Java、Python和FORTRAN)编写的程序。

尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。另外还有一个配套软件包Simulink,提供一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。

参考技术B 可以把每次计算出的矩阵A保存到一个元胞结构Data中
for i = 1:n

A = 你的操作;

Datai = A;

end
下次从Data中取矩阵,可以这么写A = Datai ;
参考技术C function myWriteToTxt(A,address)
%待保存数据:A
%保存文件:address
fid=fopen(address,'a');
[r,v]=size(A);
for i=1:r
for j=1:v
fprintf(fid,'%d\t',A(i,j));
end
fprintf(fid,'\n ');
end
fprintf(fid,'\n ');
fclose(fid);

A=ones(17,17);
B=2*A;
C=3*A;
myWriteToTxt(A,address);
myWriteToTxt(B,address);
myWriteToTxt(C,address);
参考技术D 可以建立三维矩阵追问

具体程序怎么写啊?谢谢

追答

eg:
a=[1 1 ; 1 1] ;b=[2 2;2 2]......
c(:,:,1) = a;
c(:,:,2) = b;
....

matlab中如何保存数据到指定文件夹中?

假设:
数据矩阵为data
欲保存的文件名不是固定的,以字符串变量filename的内容为文件名,
保存路径为:E:\study\

请问在MATLAB中如何将按以上要求保存数据?

保存方法:

save(['E:\\Study\\', filename], 'data')

MATLAB save 函数用法及实例:

用法一:保存指定变量到当前工作目录

在尝试将A矩阵保存为MAT格式文件,文件名取为example,并且存储起来,方便下次使用。

在matlab主窗口中输入save  example A,回车,会看到左侧当前文件夹出现了相应的example,mat文件。

用法二:保存当前所有变量到当前工作目录

此时MATLAB中有A和b两个变量,试图将其全部保存起来。

在MATLAB主窗口中输入save example2  ,将其保存到example2.mat文件中。

用法三:保存指定变量到指定文件夹

试图将以上矩阵A保存到D:\\\\JINGYAN\\\\example.mat中。

在MATLAB主窗口中输入如下命令:save('D:\\\\csdn\\\\example.mat','A') 。

可以看到成功在csdn文件夹下生成了example.mat。

扩展资料:

一、在使用save函数时需要注意:

1、要保存的mat文件要写出后缀。

2、要保存的变量名要用单引号引起来。保存所有变量到指定文件夹不在赘述,用命令save('D:\\\\csdn\\\\example.mat') 便可。

二、SAVE命令动态批量保存mat文件:

已知矩阵A,先将A矩阵的每一列进行拆分,分别保存在‘1-points.mat’、‘、2-points.mat’、‘3-points.mat’中。

A=[

0.7329   -0.0000   19.2805;

-0.0000    0.7329   25.0947]

for i=1:3

chr=[num2str(i),'-points.mat']

b=A(:,i)

save(chr,'b')

end

参考资料来源:百度百科—save函数

参考资料来源:百度百科—mat文件

参考技术A 如果将矩阵写入到excel中,可以使用xlswrtie函数,然后指定你要保存的路径和矩阵即可。
如,你想将矩阵 mMatrix保存到D盘Data目录下,可以写成
xlswrite('D:/Data/filename', mMatrix);
当然'D:/Data/filename',你可以使用相对路径。

分享一个我自己写的一个函数,将矩阵写入到txt文件中的函数
function write_file( filename,source_matrix )
%TEST Summary of this function goes here
% write matrix to file
fid=fopen(filename,'a');
[x,y]=size(source_matrix);
for i=1:x
for j=1:y-1
fprintf(fid,'%s\x20',num2str(source_matrix(i,j)));
end
fprintf(fid,'%s\r\n',num2str(source_matrix(i,y)));%每一行回车\n
end
fclose(fid);
end
filename,就是的文件路径和文件名。
source_matrix ,就是你要输出的矩阵。
参考技术B 可能你会用到数字转字符串命令
int2str 转换整数成字符串
num2str转换数成字符串
如,循环结构中:

for i=1:10
A=int2str(i);
save(['E:\Study\', A,'.dat'], 'data')
end
参考技术C save(['E:\Study\', filename], 'data')本回答被提问者采纳

以上是关于matlab中如何将多个矩阵保存到同一个矩阵中?的主要内容,如果未能解决你的问题,请参考以下文章

matlab,怎样读取多个mat文件再保存为一整个矩阵mat文件?

如何将opencv Mat矩阵保存到可以在Matlab中加载的文件中

matlab 如何输入若干个 参数变量保存到矩阵中

如何读写Matlab的mat文件?

使用 Matlab 将矩阵保存到 .dat 文件 [关闭]

如何将EXCEL里的大量数据导入并转化成MATLAB中的矩阵