Create A and B arrays given number of elements N and boundary temperature values

1 visualización (últimos 30 días)
Create a MATLAB function of the form
[A,b] = makecoeff(N,Tleft,Tright)
That creates the A and b arrays given the number of elements N and the boundary temperature values. Report the results for N = 3.
Temperature of Tleft = 5 and Tright = 115.
Where the equation is Tn = (N/L)^2((Tn-1 - Tn) + (Tn+1 - Tn))
Where n = 1:N

Respuestas (1)

Vaibhav
Vaibhav el 25 de Jul. de 2024
Hi Stephanie
You can follow the below steps to build the funtion.
Initialize the A matrix and b vector: You will need an N x N matrix A and an N x 1 vector b.
Set up the coefficients in matrix A:
  • For the first row (i = 1), set the diagonal element to -2 and the element to the right to 1. The corresponding element in b should account for Tleft.
  • For the last row (i = N), set the diagonal element to -2 and the element to the left to 1. The corresponding element in b should account for Tright.
  • For the middle rows (2 ≤ i ≤ N-1), set the diagonal element to -2, the element to the left to 1, and the element to the right to 1.
Fill in the b vector:
  • The first element in b should be -Tleft.
  • The last element in b should be -Tright.
  • The middle elements in b should be 0.
Display the results for specific values: If N = 3, Tleft = 5, and Tright = 115, display the A matrix and b vector to verify your results.
Here is a skeleton of the function to guide you:
function [A, b] = makecoeff(N, Tleft, Tright)
% Initialize A matrix and b vector
A = zeros(N, N);
b = zeros(N, 1);
% Fill the A matrix and b vector
for i = 1:N
if i == 1
% Handle the first row
elseif i == N
% Handle the last row
else
% Handle the middle rows
end
end
% Display results if N = 3
if N == 3
disp('A matrix:');
disp(A);
disp('b vector:');
disp(b);
end
end
Hope this helps!

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by