Octave 数字转字符,连接两个字符串,以及如何将字符串转换为变量名称

最近因实验需求,需要用代码有规律地自动生成变量名称并声明变量。通过翻阅资料,整理出来以下可行方案。

首先是有规律地生成变量名称,我们可能需要生成变量名为list1,list2,list3……这样的名称,名称中的字符串“list”是固定不变的,后面跟的数字是变化的。我们想要用代码实现这一串变量名称的自动生成,需要解决的问题有三个。第一个是:将数字转换为字符。第二个是:拼接两个字符串。第三个是:将字符串转换成变量名称。

将数字转换为字符的方法在Octave中有num2str函数可供调用,例如将数字2转换为字符,可以用以下语句:

num2str(2)

 更多实例:

拼接两个字符串,可以用以下几种方法

1.通过 c=[a1,b1]格式拼接,实例如下

>> a = 'sdf'
a = sdf
>> b = 'dfgfg'
b = dfgfg
>> c = [a,b]
c = sdfdfgfg
>> d = ['dfd','fdf']
d = dfdfdf

2.通过调用函数 strcat来实现

>> a = 'sdf'
a = sdf
>> b = 'dfgfg'
b = dfgfg
>> d=strcat(a,b)
d = sdfdfgfg

将字符串转换为变量名称

使用函数eval来实现

>> str = ['dsfd',num2str(4)]
str = dsfd4
>> eval( [str, '= zeros(1,6)'])
dsfd4 =

   0   0   0   0   0   0

好啦,到这里所有的问题都解决了,我用代码循环生成了我需要的变量。list2,list3,list4……list10。

for c = 0.2:0.1:1
   str = ['list',num2str(c*10)]
   eval( [str, '= zeros(1,20)'])
endfor

str = list2
list2 =

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

str = list3
list3 =

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

str = list4
list4 =

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

str = list5
list5 =

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

str = list6
list6 =

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

str = list7
list7 =

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

str = list8
list8 =

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

str = list9
list9 =

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

str = list10
list10 =

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值