design of experiment using ccdesign

10 Ansichten (letzte 30 Tage)
9times6 am 22 Jun. 2022
Beantwortet: Karan Singh am 3 Okt. 2023
An experiment I have to perform has six independent parameters. To generate a design of experiment, I used the MATLAB command:
>> ccdesign(6, 'type', 'circumscribed');
Here, I get an mxn matrix where each column as unique values as: [ -2.3784 -1.0000 0 1.0000 2.3784]
These values are different from my independent variables. For example, I can control the speed of flow in my experiment, which varies from 0 to 10 and not -2.378 to 2.378 as given by ccdesign.
How to replace these values given ccdesign with my actual values of variables?

Antworten (1)

Karan Singh
Karan Singh am 3 Okt. 2023
Hi 9times6,
From what I understand, the goal is to work on with six independent parameters as you used the MATLAB command ccdesign(6, 'type', 'circumscribed') to generate a design of experiment. However, the values obtained from ccdesign do not match the range of your actual independent variables.
To replace these generated values with your actual values, you need to map the generated values to the desired range of each independent variable. One approach is to use scaling and shifting to transform the values.
Here's an example of how you can perform scaling and shifting:
  • Generate the initial matrix using ccdesign:
matrix = ccdesign(6, 'type', 'circumscribed');
  • Define the desired range for each independent variable. For example, if the speed of flow varies from 0 to 10:
flow_speed_range = [0, 10];
  • Calculate the scaling factor and shifting factor for each variable. The scaling factor is given by:
scaling_factor = (flow_speed_range(2) - flow_speed_range(1)) / (max(matrix(:, i)) - min(matrix(:, i)));
The shifting factor is given by:
shifting_factor = flow_speed_range(1) - (min(matrix(:, i)) * scaling_factor);
  • Iterate through each column of the generated matrix and apply the scaling and shifting factors to obtain the corresponding actual values for your independent variables:
for i = 1:size(matrix, 2)
actual_values(:, i) = (matrix(:, i) * scaling_factor) + shifting_factor;
Attached below are some documentation links that you may find helpful:
Hope this helps!
Karan Singh Khati

Community Treasure Hunt

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

Start Hunting!

Translated by