Iteration and Convergence to zero

조회 수: 8 (최근 30일)
Nawaraj Sharma Paudel
Nawaraj Sharma Paudel 2020년 2월 3일
답변: Raunak Gupta 2020년 3월 20일
The matrix is attached as ('Note.xlsx').
[num, txt, raw]= xlsread('Note');
format short;
A1= num(1:5, 1:5);
row_sum= A1(1:3,4);
col_sum= A1(4,1:3);
u= A1(1:3, 5); % This is the true or prescribed row sum
v= A1(5, 1:3); % This is the true or prescribed column sum.
aij_0= A1(1:3, 1:3); % This is my origional matrix.
r= u./row_sum % This is row multiplier.
aij_r= aij_o.*r; % Mulitply the origional matrix by r(row multiplier).
% Now row and column sum is changed so i have to find the new row and column sum. But the 'u' and 'v' remain same for the whole process.
row_sum_new= sum(aij_r, 2);
col_sum_new= sum(aij_r,1);
s = v./col_sum_new; % This is column multiplier.
% Now i have to multiply the 'aij_r' matrix by s. And then we will have new matrix( aij_1).
aij_1= aij_r.*s;
% Then I have to find the row sum and find r to multiply aij_1.r....and then find col_sum and find s. And multiply aij_2.
% This process coutinue until we dont have Row sum= u(prescribed row sum) and Column sum = v( prescribed column sum).
% I need this final matrix. I need your help, please.

답변 (1개)

Raunak Gupta
Raunak Gupta 2020년 3월 20일
Hi,
I don’t fully understand the logic implemented here but I think after each iteration you want to check the value of r and s. If these values are 1 (or close to 1), the solution is reached. I think you may use while loop for doing the above computation till the convergence or if the above things can be formalized into some equations then it can be solved with the help of Optimization Toolbox.

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by