i asked this question many times but still have a problem....someone help me please i need answer as soon as possible...

2 commentaires

John D'Errico
John D'Errico le 8 Jan 2022
Modifié(e) : John D'Errico le 8 Jan 2022
I see you still have problem. However, the issue is you need to EXPLAIN clearly what you need. If you cannot explain what your goal is, how can you expect help?
Is this matrix symmetric? That is, is it true that x(i,j) == x(j,i) always? The rule for x12 that you show would seem to say that is true.
Would x(2,2) be the sum of 5 elements? Thus... sum(L([1 4 5 6 7],4))?
Finally, it really helps if you post actual code, rather than a PICTURE of code. For example, while I can look at the matrix L, I cannot paste it into MATLAB.
arian hoseini
arian hoseini le 8 Jan 2022
thats on me and im sorry for my explanation
L =[1 2 0.1 0.2 0.02
1 4 0.05 0.2 0.02
1 5 0.08 0.3 0.03
2 3 0.05 0.25 0.03
2 4 0.05 0.1 0.01
2 5 0.1 0.3 0.02
2 6 0.07 0.2 0.025
3 5 0.12 0.26 0.025
3 6 0.02 0.1 0.01
4 5 0.2 0.4 0.04
5 6 0.1 0.3 0.03]
%-------------------------------Program strat her--------------------------
nl = L(:,1); nr = L(:,2); R = L(:,3);
X = L(:,4); Bc = j*L(:,5);
nbr=length(L(:,1)); nbus = max(max(nl), max(nr));

Connectez-vous pour commenter.

 Réponse acceptée

Torsten
Torsten le 8 Jan 2022
Modifié(e) : Torsten le 8 Jan 2022
function main
L = [1 2 0.1 0.2 0.02; ...
1 4 0.05 0.2 0.02; ...
1 5 0.08 0.3 0.03; ...
2 3 0.05 0.25 0.03; ...
2 4 0.05 0.1 0.01; ...
2 5 0.1 0.3 0.02; ...
2 6 0.07 0.2 0.025; ...
3 5 0.12 0.26 0.025; ...
3 6 0.02 0.1 0.01; ...
4 5 0.2 0.4 0.04; ...
5 6 0.1 0.3 0.03];
nl = L(:,1);
nr = L(:,2);
x = L(:,4);
n = numel(x);
Nb = 6;
mat = zeros(Nb,Nb);
n = numel(x);
for i = 1:Nb
for j = 1:Nb
logic = zeros(n,1);
if i==j
for k = 1:n
logic(k) = nl(k)==i || nr(k)==i;
end
else
for k = 1:n
logic(k) = (nl(k)==i && nr(k) ==j) || (nl(k)==j && nr(k)==i);
end
end
mat(i,j) = sum(x(logic==1));
end
end
mat
end

3 commentaires

arian hoseini
arian hoseini le 8 Jan 2022
thank u thats what i needed but what about the matrix diagonal....i explained that x11 is the sum of all x's whose nl=1 and nr=1 (for example x44=x45+x14+x24)
Torsten
Torsten le 8 Jan 2022
Corrected.
arian hoseini
arian hoseini le 9 Jan 2022
thank u so much.

Connectez-vous pour commenter.

Plus de réponses (1)

Cris LaPierre
Cris LaPierre le 8 Jan 2022

1 vote

3 commentaires

arian hoseini
arian hoseini le 8 Jan 2022
i dont have much time i need the code as soon as possible.
Cris LaPierre
Cris LaPierre le 8 Jan 2022
That's not really how Answers works.
x = zeros(Nb);
for i=1:Nb
for j=1:Nb
rowsToSum = L(:,1) == i & L(:,2) == j;
x(i,j) = sum(L(rowsToSum, 4));
end
end
disp(x)
i dont expect you to write the whole code for me so help me with this...i tried the top code but i get this
0 0.2000 0 0.2000 0.3000 0
0 0 0.2500 0.1000 0.3000 0.2000
0 0 0 0 0.2600 0.1000
0 0 0 0 0.4000 0
0 0 0 0 0 0.3000
0 0 0 0 0 0
for x11 i added this % x(i) = sum(L(rowsToSum, 4));
but still not working and as you see x21 should be like x12 but...the others are like this too

Connectez-vous pour commenter.

Produits

Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by