从matlab中的文件读取字符数组到另一个数组

时间:2014-04-22 09:02:02

标签: arrays string matlab

我有一个由不同字符组合组成的文本文件。例如:

a+b*c
b+c*a
c+a*b

我想将这个文件读入matlab,并希望将每一行分配给这样的数组:

c(1)=a+b*c
c(2)=b+c*a
c(3)=c+a*b

此外,我想将其他字符数组分配给变量a,b,c等。例如,我可以指定为

a='A', b='B', c='C'

并将最终输出打印为:

c(3)=C+A*B

但我仍然坚持两个步骤,关于如何在Matlab中读取和分配不同的行到不同的字符数组。欢迎任何建议。

1 个答案:

答案 0 :(得分:1)

使用importdata将文本读入单元格数组并逐个执行替换。

<强>代码

%%// Name of your text file
file1 = 'eqns.txt'

c = importdata(file1)

c = strrep(c,'a','A');
c = strrep(c,'b','B');
c = strrep(c,'c','C')

<强>输出

c = 
    'a+b*c'
    'b+c*a'
    'c+a*b'

c = 
    'A+B*C'
    'B+C*A'
    'C+A*B'

如果您有兴趣将字母表设为大写字母,则可以在导入数据后直接执行此操作 -

c = importdata(file1)
c = upper(c)