matlab - 循环遍历单位三角形中的点

标签 matlab loops

我遇到一个问题,我有两个选择变量 x1 和 x2,然后确定第三个 x3 = 1 - x1 - x2。我想循环遍历 [x1, x2, x3] 的各种值。此代码有效:

w1 = perms([0.1, 0.1, 0.8]);
w2 = perms([0.1, 0.2, 0.7]);
w3 = perms([0.1, 0.3, 0.6]);
w4 = perms([0.1, 0.4, 0.5]);
w5 = perms([0.2, 0.2, 0.6]);
w6 = perms([0.2, 0.3, 0.5]);
w7 = perms([0.2, 0.4, 0.4]);
w8 = perms([0.3, 0.3, 0.4]);

w = [w1; w2; w3; w4; w5; w6; w7; w8];
w = unique(w,'rows');

% loop
for ii = 1:size(w, 1) 
    ... do some stuff with w(ii, :)  

但我想知道是否有更优雅的方法来做到这一点。

最佳答案

这是 ndgrid 的经典案例

[x1,x2]=ndgrid(0.1:0.1:0.8,0.1:0.1:0.8);
x3 = 1-x1-x2;

%I assume from your example that we want x1,x2,x3 in (0,1) OPEN interval, then:
valid_points = x3>0 & x3 <1 

w_prime = [x1(valid_points),x2(valid_points),x3(valid_points)];

关于matlab - 循环遍历单位三角形中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35932173/

相关文章:

matlab - Matlab fir2频率响应与幅度响应不对应

R 的 `chol` 与 MATLAB 的 `cholcov` 不同。如何进行类似 Cholesky 的协方差分解?

machine-learning - 如何创建可以使用Matlab中的load datasetname命令加载的数据集?

javascript - 简单的 javascript 循环不起作用

javascript - QML 文本字段 : Binding loop detected for property "text"

jquery - 一系列列表项的导航循环

matlab - 按某个字符串值过滤元胞数组

matlab - 在 Matlab 中将列插入矩阵

javascript替换url链接循环

r - r 中多个 if else 循环的替代方案