how can I write code to reach my goal as figure below?

1 view (last 30 days)
Hi guys,
P is a matrix with dimension i*j; n is an integer. How can I write this formula in matlab? Thanks.
  2 Comments
Adam Danz
Adam Danz on 28 Mar 2021
What part are you having trouble with? How can we help without doing it for you?
kimy
kimy on 29 Mar 2021
Hello Adam, in fact I was trying a loop to give the value for rij, also Ci and Vi However, the code I wrote must be wrong. Could you please give me some suggestions? Thanks.
for i=1:n
for j=1:n
for k=1:n
syms k
R(i,j)=symprod(P(i,k)*P(k,j),k,1,n)^(1/n)
C(i)=(symprod(R(i,k),k,1,n))^(1/n)
V(i)=C(i)/sum(C(k),k,1,n);
end
end
end

Sign in to comment.

Answers (1)

Adam Danz
Adam Danz on 29 Mar 2021
Edited: Adam Danz on 29 Mar 2021
> in fact I was trying a loop to give the value for ri
r is an existing matrix. i and k are just indices. So the value of ri is just r(i,:) and the value of rik is r(i,k).
> also Ci and Vi
What's Vi?
For C, is this what you're looking for?
%n = ?? % scalar
%r = ?? % size nxn
C = nan(1,n);
for i = 1:n
C(i) = nthroot(prod(r(i,1:n)),n);
end
which is the same as
%n = ?? % scalar
%r = ?? % size nxn
C = nthroot(prod(r(1:n,1:n),2),n)
  3 Comments
Adam Danz
Adam Danz on 29 Mar 2021
I don't follow what you're saying and it seems like the question and background information is changing with each comment. I've already reached my allotted volunteer time for the day but I can check back later to see if there is a crystal clear question with all the needed background information.
kimy
kimy on 4 Apr 2021
Sorry, now I solved the problem. But the following comlicated formula seems not so easy to write, could you please give me some suggestions? Thanks.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!