Storing calculations into a list

Click For Summary
The discussion centers on a code snippet that computes a value called "numerator" from random selections of data points in two arrays, x and y, each containing 2187 rows. The code loops three times, generating five random indices each iteration to extract corresponding values from x and y. The output shows the random values stored in xval and yval, along with the computed numerator for each iteration. The key question raised is why the numerator is not stored as a 5x1 array like xval and yval. The explanation provided clarifies that the use of the nansum function on a 5x1 array results in a scalar value rather than an array, which is why the numerator is not in the same format as xval and yval.
Tone L
Messages
72
Reaction score
7
I have a code that loops through and does some computation on 5 random values from my lists of data (2187 rows long).

for i = 1:3
randomdata = round(rand(5,1).*2187);

xval = x(randomdata)
yval = y(randomdata)
numerator = length(xval).*nansum(xval.*yval) - (nansum(xval).*nansum(yval))
end

my output on the screen is as follows: 5 random values stored in xval & yval
xval =
3.3
3.2
6.4
4.3
1.2

yval =
13
33
83
42
9

numerator =
-.34
numerator =
-.12
numerator =
-.45
My question is why isn't numerator being stored as a 5x1 array like xval and yval??
 
Physics news on Phys.org
Anthony LaRosa said:
My question is why isn't numerator being stored as a 5x1 array like xval and yval??
Because nansum of a 5x1 array returns a scalar.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 65 ·
3
Replies
65
Views
7K