1.Matlab 定义符号变量的命令为 syms
比如定义 a,b,c为符号变量 syms a b c 即可(注意中间不能有空格)
但是假若要定义100个符号变量呢?总不会要一个一个输入吧?
计算机编程的一个重要好处是可以使用循环处理类似的事情
那么应该如何使用循环呢?
2.使用数字转化字符串函数 num2str;
通常Matlab里面
一个字符串和另外字符串相连接产生的还是一个字符串,并且只能以字符串里面的单个字符为一个子元素。比如a=‘1234’,可以把a看成一个数组a=['1','2','3','4'];可以通过a(3)调用‘3’,a(4)调用'4'等;
要调用‘34’则用a(3:4)或者[a(3),a(4)];
回到问题本身:如何循环定义多个变量
其实就是先定义一个字符串,然后在后面加上一组数字就可以了;
比如:
for i=1:100
syms (['x',num2str(i)]);
end
产生的就是x1,x2,...,x100这些符号变量了;
分析一下 ['x',numtstr(i)]
'x'是一个字符串,num2str(i)是字符串'i',[]则把'x'和'i'连接在一起变成'xi',那么syms('xi'),当然就是符号变量了。