matlab变量的名字中含有规律的数字的定义

1.引用某个mat文件时
N_T = 32;
for nbeam = 1:5 % 码本层数
N_codeword = 2^nbeam;
filename_analog = ['Analog_Codebook_',num2str(N_T),'Antennas_',num2str(N_codeword),'Codewords.mat'];
end

这里的numstr()表示变化的量,当nbeam的变化从1-5时,N_codeword分别等于2,4,8,16,32,通过引号就可以引用到命令里作为变量了,结果分别为:
Analog_Codebook_32Antennas_2Codewords.mat
Analog_Codebook_32Antennas_4Codewords.mat
Analog_Codebook_32Antennas_8Codewords.mat
Analog_Codebook_32Antennas_16Codewords.mat
Analog_Codebook_32Antennas_32Codewords.mat

2.递增的变量命令

如:

eval['w_analog_',num2str(nbeam), '= w_analog(:,1).*exp(1i*2*pi*k*[0:N_T-1]''*sin(angle_vec))'];

这里想表达的是
w_analog_1= w_analog(:,1).exp(1i2pik*[0:N_T-1]'sin(angle_vec));
w_analog_2= w_analog(:,1).exp(1i2
pik[0:N_T-1]‘sin(angle_vec));
w_analog_3= w_analog(:,1).exp(1i2
pik[0:N_T-1]’*sin(angle_vec));
……
注意到这里的1,2,3的递增,用到了eval,eval的功能简单来说就是可以把字符串当做命令来执行
这里的递增替换还是用引号numstr带进来的,这里有一个要注意的点,就是[0:N_T-1]''这里加两个引号的原因,[0:N_T-1]‘一个引号表示共轭转置,所以两个’‘号中第一个’代表转义字符,意思是两个’'号中第二个’号为命令中的’号,不是用来分割字符串文本的

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值