How to solve a system of two linear equations in matrix form under a loop /

1 Ansicht (letzte 30 Tage)
Adnan Hayat
Adnan Hayat am 28 Jul. 2022
Kommentiert: Jon am 2 Aug. 2022
Suppose that I have two coordinates, time and space , and two dependent variables c and T such that and . Now I have a system of two coupled equations which are given in matrices form as
I define the t and x vectors in the code as follows. How to calculate the matrix X inside the loops given below. Initial data is available, i.e. and are given.
for j=1:50
t(j)=j*0.05; % t vector
end
for i=1:50
x(i)=i*0.05; % space vector
end
%___________________________ running the loop_______________________________________
for j=1:50
for i=1:50
%???????? How to calculate the matric X here ????????????????????
end
end
  2 Kommentare
Jon
Jon am 28 Jul. 2022
Is this a typo?
x(i)=i*0.05; % space vector
Did you mean
c(i)=i*0.05; % space vector
Adnan Hayat
Adnan Hayat am 29 Jul. 2022
No, it is not a typo. Actually i define x and t vectors like that. YOu can ignore that and take x=1,2,3,...,50 and t=1,2,3,...,50

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jon
Jon am 28 Jul. 2022
Bearbeitet: Jon am 28 Jul. 2022
I'll assume you know how to calculate A and B based upon your c and T values. Then to solve for X use
X = M\(J*A + B)
Note that using the \ operator is more numerically robust and efficient than actually computing the matrix inverse of M
  2 Kommentare
Adnan Hayat
Adnan Hayat am 29 Jul. 2022
The problem is how to store the value of M\(J*A + B) in X?
Jon
Jon am 2 Aug. 2022
You could store the results in a 3 dimensional array, so
X = zeros(2,50,50); % preallocate
for i = 1:50
for j = 1:50
.
.
.
X(:,i,j) = M\(J*A + B)
end
end

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by