What is my solution?

top2=0;top3=0;
mij=ones(5,5);
mi=ones(1,5);
X=[242 183 237 141 125;157 181 268 232 220;219 185 151 261 120;331 151 239 203 206;138 213 222 174 189];
Xort=mean(X); %mean for rows
for i=1:5
n(i)=length(X);
end
for i=1:5
for j=1:5
top2=top2+(mij(i,j)*(X(i,j)-Xort(i))^2) %top is in english sum. share % fraction for v
end
top3=top3+(n(i)-1); % denominator of v fraction
end
v=top2/top3;% v is the estimate which i want to calculate
v
İn this program, result is v =3.6694e+003 but it is wrong.in for loop only i=1 and j=1 works correctly. if i=1 j=2, results are bad. Can you help me?

11 Comments

Thomas
Thomas on 6 Dec 2012
What results do you expect?
i expect around 3500
Well 3669.4 isn't that far away. Are you sure it's wrong?
To check: you are aware that mean(X) is mean(X,1) which is to say mean down the columns? mean(X,2) would be across the rows. Checking to see if you intend rows or columns ?
Can you tell us in words, or can you put in some English comments that say what this does? What is the overall goal of this? What do top2 and top3 and their ratio represent? Maybe there's a simpler way, like using conv2() or something. Also, do you know that length(X) for a 2 D array is the length of the longest dimension (not the number of elements, which is numel(), or the width or height of the array)? I think it's rare to see length() used on a 2D array.
i expect around 3500 but not e+003. Can i get rid of e+.
for x(1,1), it returns right result but for x(1,2) and after it returns e+ value. i don't want this.
i edited my first message and added some comments.
Give the command
format long g
and then display the result
Please be more specific. where do i give format long g command ???
At the command line
>> format long g % Now hit Return or Enter
Thanks Walter Roberson. This is working. do i use it every time or is it only one?
Have it once in your program.

Answers (0)

This question is closed.

Tags

Asked:

on 6 Dec 2012

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!