循环使用名称+数字的多个变量

1次查看(最近30天)
Ansaar达达
Ansaar达达 2021年3月17日
回答: 默罕默德·萨米 2021年3月17日
大家好!
一直在尝试使用for循环我的25个以上的变量,但没有效果。请看这段代码:
%%%%%%%%%%%%%%%%%%%% 工作代码
nb_iterations = 5;
A1rms = 230;P1rad = 0;
A3rms = 0 * A1rms;P3rad = 0;
A5rms = [0:0.00775:0.031] * A1rms;P5rad = 0;
A7rms = [0:0.00695:0.0278] * A1rms;P7rad =π;
A9rms = 0 * A1rms;P9rad = 0;
V_As = [];V_Ps = [];
tr = 1: nb_iterations
A3rms_int =兰德(1)*马克斯(A3rms);
A5rms_int =兰德(1)*马克斯(A5rms);
A7rms_int =兰德(1)*马克斯(A7rms);
A9rms_int =兰德(1)*马克斯(A9rms);
V_As = [V_As;[A3rms_int, A5rms_int, A7rms_int, A9rms_int]];
P3rad_int =兰德(1)* P3rad;
P5rad_int =兰德(1)* P5rad;
P7rad_int =兰德(1)* P7rad;
P9rad_int =兰德(1)* P9rad;
V_Ps = [V_Ps;[P3rad_int, P5rad_int, P7rad_int, P9rad_int];
结束
%%%%%%%%%%%%%%%%%%%%有效代码(不工作)
selected_harm = 3:2:9;
tr = 1: nb_iterations
idx =长度(selected_harm)
(idx) rms_int =兰德(1)*马克斯(rms (idx));
V_As = [V_As;[A3rms_int, A5rms_int, A7rms_int, A9rms_int]];
P (idx) rad_int =兰德(1)* P (idx) rad;
V_Ps = [V_Ps;[P3rad_int, P5rad_int, P7rad_int, P9rad_int];
结束
结束
第一个代码工作,但我想有一个循环执行A3rms_int一直到A9rms_int,以增加可读性和更高效,因为我有变量一直到A25rms_int。对于P变量也是类似的。
提前感谢您的帮助!
2的评论
里克
里克 2021年3月17日
穆罕默德,请把你的评论移到答案部分。
这个问题是由于设计不好造成的。你不应该将信息存储在变量名中,这就是变量的作用。

登录评论。

答案(1)

默罕默德·萨米
默罕默德·萨米 2021年3月17日
您应该使用单元格数组来存储数据。为例。
武器=细胞(25日1);
i = 1:2:25
Airms ={我}武器;
结束

标签

下载188bet金宝搏


释放

R2019b

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!