我需要在Matlab中编程做环
问题描述:
我有四个参数Q1,Q2,Q3,Q4和我想增加参数的顺序性0.05 我的意思是我想用0.1开始四个参数,然后增加Q1 0.05,其余为0.1。然后保持Q1 = 0.15,增加第二个Q2 0.05 a我需要在Matlab中编程做环
答
如果我正确理解这个,你想要一次增加四个参数吗?你怎么样用一个简单的模量声明,就像这样:
for (int i = 0; i < 100; i++) {
if (i % 4 == 0) {
Q1 += 0.05;
} else if (i % 4 == 1) {
Q2 += 0.05;
} else if (i % 4 == 2) {
Q3 += 0.05;
} else {
Q4 += 0.05;
}
}
这样,一个循环之后,你将有:
Q1 = 0.15
Q2 = 0.10
Q3 = 0.10
Q4 = 0.10
但经过两次,你必须:
Q1 = 0.15
Q2 = 0.15
Q3 = 0.10
Q4 = 0.10
等等......
答
另外,用Matlab没有for
循环和if
声明:
n=4;
step=0.05;
base=floor((2:1/4:n));
q=base*step;
q1=q(4:end);
q2=q(3:end-1);
q3=q(2:end-2);
q4=q(1:end-3);
主要生产:
0.10 0.15 0.15 0.15 0.15 0.20
0.10 0.10 0.15 0.15 0.15 0.15
0.10 0.10 0.10 0.15 0.15 0.15
0.10 0.10 0.10 0.10 0.15 0.15
答
从我的理解,要生成从四个参数,在这里每个人都可以从0.1
去一些更高价值的所有可能的元组(我用0.2
)在0.05
增加。如果是这样的话,你可以使用NDGRID功能:
[q1,q2,q3,q4] = ndgrid(0.1:0.05:0.2);
params = [q1(:) q2(:) q3(:) q4(:)]
结果为行:
params =
0.1 0.1 0.1 0.1
0.15 0.1 0.1 0.1
0.2 0.1 0.1 0.1
0.1 0.15 0.1 0.1
0.15 0.15 0.1 0.1
0.2 0.15 0.1 0.1
0.1 0.2 0.1 0.1
0.15 0.2 0.1 0.1
0.2 0.2 0.1 0.1
0.1 0.1 0.15 0.1
0.15 0.1 0.15 0.1
0.2 0.1 0.15 0.1
0.1 0.15 0.15 0.1
0.15 0.15 0.15 0.1
0.2 0.15 0.15 0.1
0.1 0.2 0.15 0.1
0.15 0.2 0.15 0.1
0.2 0.2 0.15 0.1
0.1 0.1 0.2 0.1
0.15 0.1 0.2 0.1
0.2 0.1 0.2 0.1
0.1 0.15 0.2 0.1
0.15 0.15 0.2 0.1
0.2 0.15 0.2 0.1
0.1 0.2 0.2 0.1
0.15 0.2 0.2 0.1
0.2 0.2 0.2 0.1
0.1 0.1 0.1 0.15
0.15 0.1 0.1 0.15
0.2 0.1 0.1 0.15
0.1 0.15 0.1 0.15
0.15 0.15 0.1 0.15
0.2 0.15 0.1 0.15
0.1 0.2 0.1 0.15
0.15 0.2 0.1 0.15
0.2 0.2 0.1 0.15
0.1 0.1 0.15 0.15
0.15 0.1 0.15 0.15
0.2 0.1 0.15 0.15
0.1 0.15 0.15 0.15
0.15 0.15 0.15 0.15
0.2 0.15 0.15 0.15
0.1 0.2 0.15 0.15
0.15 0.2 0.15 0.15
0.2 0.2 0.15 0.15
0.1 0.1 0.2 0.15
0.15 0.1 0.2 0.15
0.2 0.1 0.2 0.15
0.1 0.15 0.2 0.15
0.15 0.15 0.2 0.15
0.2 0.15 0.2 0.15
0.1 0.2 0.2 0.15
0.15 0.2 0.2 0.15
0.2 0.2 0.2 0.15
0.1 0.1 0.1 0.2
0.15 0.1 0.1 0.2
0.2 0.1 0.1 0.2
0.1 0.15 0.1 0.2
0.15 0.15 0.1 0.2
0.2 0.15 0.1 0.2
0.1 0.2 0.1 0.2
0.15 0.2 0.1 0.2
0.2 0.2 0.1 0.2
0.1 0.1 0.15 0.2
0.15 0.1 0.15 0.2
0.2 0.1 0.15 0.2
0.1 0.15 0.15 0.2
0.15 0.15 0.15 0.2
0.2 0.15 0.15 0.2
0.1 0.2 0.15 0.2
0.15 0.2 0.15 0.2
0.2 0.2 0.15 0.2
0.1 0.1 0.2 0.2
0.15 0.1 0.2 0.2
0.2 0.1 0.2 0.2
0.1 0.15 0.2 0.2
0.15 0.15 0.2 0.2
0.2 0.15 0.2 0.2
0.1 0.2 0.2 0.2
0.15 0.2 0.2 0.2
0.2 0.2 0.2 0.2
这听起来像功课给我。你到目前为止尝试过什么? –