如何通过循环使多行生成一个字符串变量

时间:2015-12-30 16:39:49

标签: string matlab loops

我需要在几行中编写一个字符串变量,例如如下:

a = 1, b = 2, c = 3     
a = 0, b = 5, c = 1    
a = 4, b = 2, c = 0    
a = 8, b = 7, c = 3    
a = 3, b = 0, c = 8    
a = 2, b = 9, c = 3    
...    
a = 1, b = 5, c = 5

并将其保存在文本文件中。

我有一个包含3列a,b和c的矩阵。什么是问题是字符串的定义。什么只是想到但绝对错误如下,我只是写这个来更好地解释我的问题:

for i = 1:100
s(i) = (['a = ',num2str(A(i,1)),'b = ',num2str(A(2,1)),'c = ',num2str(A(2,1))]);
end

如何生成此类文本文件?

3 个答案:

答案 0 :(得分:1)

您可以使用dlmwrite函数在.txt文件中编写字符串,如下所示:

dlmwrite('my_output_file.txt',sprintf('a = %i, b = %i, c = %i\n',A'),'delimiter','')

注意,您应该使用输入矩阵A的transpose,否则值将“逐列”。

希望这有帮助。

答案 1 :(得分:1)

您可以使用以下方法保存此矩阵:

$id = $row['YOUR_ID_COLUMN'];

答案 2 :(得分:0)

sprintf('a = %i, b = %i, c = %i\n',A(:,1),A(:,2),A(:,3))

将生成一个字符串,表示您要在文本文件中保存的内容。