在matlab里面怎么样用 fprintf 直接打一个矩阵啊?

来源:百度知道 编辑:UC知道 时间:2024/09/28 15:14:36
我在matlab里面需要用fprintf打一个矩阵到txt文件里,请问有没有直接的矩阵的打法可以打出来啊?我现在是用两个for loop一个一个的把矩阵的每个entry打出来的。能不能一次性全部打出来,不用for loop 的啊?
假如我现在的矩阵是
A=[1 1 1;1 1 1;1 1 1]
然后我要用matlab生成一个txt文件,把这个matrix A打出来,怎么打?
fid=fopen('printmatrix.txt','w');
COUNT=fprintf(fid,format rat,A);
我试了这个,打不出来啊。
提示说
??? COUNT=fprintf(fid,format rat,A)
|
Error: ")" expected, "identifier" found.
你能直接写个code让我看看吗?

还有一点是,实际情况中,我需要打的是一个通用的code,对任何matrix都要能用,不知道这个matrix的行列数。不知道有没有这样的code。

用dlmwrite

用法:
dlmwrite('a.txt',B,'-append','delimiter', ' ');
表示把矩阵B输入到a.txt,-append表示追加输入,'delimiter', ' '表示矩阵元素间隔用空格
具体用法请自己看help文档。

例子:
A=rand(5,5);A(1:6:25)=1:5;A
dlmwrite('a.txt',A ,'delimiter', ' ');
B=magic(3)
dlmwrite('a.txt',B,'-append','delimiter', ' ');

首先:
fid=fopen(文件名,打开方式)
fid=fopen(filename.txt,r)
COUNT=fprintf(fid,format,A)
A为你要打到txt里去的矩阵,format是将A格式化。
试试吧!我不大明白你的意思!也许能帮你。
书上是这么说的:COUNT=fprintf(fid,format,A)其中A存放要写入文件的数据。先按format将数据矩阵格式化,然后写到fid所指定的文件。