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

2 views (last 30 days)
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

Answers (1)

Vaibhav
Vaibhav on 25 Jul 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!

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!