How to create the random sampling matrix for a certain number of times?

9 ビュー (過去 30 日間)
S Priya
S Priya 2022 年 2 月 24 日
編集済み: Awais Saeed 2022 年 2 月 24 日
I need to find random sample(consisting of 40 values) for 16 elements (each different).Using Em22(:,:,i) will help?How to do it?
c=1;
d=20;
y11=c+(d-c)*rand(20,1);
y12=c-(d-c)*rand(20,1);
y=[y11;y12];
Em1=(432*10^6+y*10^6);
for k=1:40
Em11(k)=Em1(k,1); %Elastic Modulus(40 random values)for 1 element
Em22(:,:,i)=Em11(:,:,i); %Elastic Modulus for all elements(Doubt)
end
  2 件のコメント
S Priya
S Priya 2022 年 2 月 24 日
Thank you for the answer. Now the values which I am getting for Em22 is for 1 element, I want Em22 matrix (40x1) with 16 elements. (With each Em22 different from one another.)

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

回答 (1 件)

Awais Saeed
Awais Saeed 2022 年 2 月 24 日
編集済み: Awais Saeed 2022 年 2 月 24 日
What I understood is that you want those 40 values with 16 different c and d, right? If yes, then loop through those values, do your calculations and store it in a multi-dimensional array.
c = [1 2];
d = [20 21];
% loop through c and d
for idx = 1:1:length(c)
y11 = c(idx)+(d(idx)-c(idx))*rand(20,1);
y12 = c(idx)-(d(idx)-c(idx))*rand(20,1);
y = [y11;y12];
Em1 = (432*10^6+y*10^6);
for k=1:40
Em11(k) = Em1(k,1); %Elastic Modulus(40 random values)for 1 element
Em22(:,k,idx) = Em11(k); %Elastic Modulus for all elements(Doubt)
end
end
Em22(:,:,1); % for first element
Em22(:,:,2); % for second element
  2 件のコメント
Awais Saeed
Awais Saeed 2022 年 2 月 24 日
You can store Em11 for one element in Em22(:,:,1) and Em11 for another element in Em22(:,:,2) and so on. To access Em22 for first element, just use Em22(:,:,1). I have updated the script for more clarity.

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by