Replace values with specified values

4 ビュー (過去 30 日間)
tompaine
tompaine 2015 年 5 月 20 日
回答済み: Faysal Andary 2023 年 1 月 18 日
I have a full factorial design array and certain levels
a = [6,8]
b = [10,13,5]
dF = fullfact([2 3])
=
1 1
2 1
1 2
2 2
1 3
2 3
I would like to replace the values [1,2] of the first column with a and in the second [1,2,3] with b so that
dF =
6 10
8 13
6 5
8 10
6 13
8 5
Is there an easy way to do it? I'll need it for a 388800x10 full factorial with up to 12 different levels for each column, so I cannot replace all values one by one.

回答 (2 件)

Thomas Koelen
Thomas Koelen 2015 年 5 月 20 日
I answered the (somewhat) same question yesterday, this should solve your issue:
If you run in to any problems feel free to ask them here.
  1 件のコメント
tompaine
tompaine 2015 年 5 月 20 日
This makes sense if you only have three levels. I have a 388800x10 full factorial with up to 12 different levels for each column. Is there a shorter way?

サインインしてコメントする。


Faysal Andary
Faysal Andary 2023 年 1 月 18 日
a = [6,8];
b = [10,13,5];
ffPlan = fullfact([2, 3]);
parPlan = zeros(size(ffPlan));
parPlan(:,1) = a(ffPlan(:,1));
parPlan(:,2) = b(ffPlan(:,2));
disp(parPlan)
6 10 8 10 6 13 8 13 6 5 8 5
If you have more than a couple variables, you can use a for loop for the columns

カテゴリ

Help Center および File ExchangeSmoothing についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by