Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

i need help with my MATLAB code. I coded the solution for this one-dimensional heat equation using the Crank-Nicholson method for another problem. How would

i need help with my MATLAB code. I coded the solution for this one-dimensional heat equation using the Crank-Nicholson method for another problem. How would I adjust my code to solve the one-dimensional heat equation using the fictittious node (implicit method) method? I included my code below question. Hopefully it helps. The boundary conditions are below the heat equation and there is also an initial condition to include.

image text in transcribed

clear;

n = 4; %sub intervals in the x dimension dt = 0.1; %delta t tsteps = 5; cst = 0.5;

dx = 1; %delta x uL = @(t) t; %left boundary uR = @(t) t+1; %right boundary u0 = @(x) x.^2; %initial condition

gamma = cst*dt/(2*(dx^2)); %change beta to reflect average

A = zeros(n-1,n-1); x = linspace(0,1,n+1); %start, finish, number of points t = linspace(0,tsteps*dt,tsteps+1);

u(1, 1:n+1) = u0(x);

% create a tridiagonal matrix for A % This is not affected by time, only location for j = 1:n-1 A(j,j) = 1+2.*gamma; A(j,j+1) = -gamma; A(j+1,j) = -gamma; end a = diag(A); b = diag(A,1); c = diag(A,-1);

% Delete extra row and column A(n,:) = []; A(:,n) = [];

% This bad boy fills in all of our intial values % includes boundary conditions % We need to populate the middle using the matrices for m = 1:tsteps u(m+1,1) = uL(t(m+1)); % Gives us all left hand values u(m+1,n+1) = uR(t(m+1)); % Gives us all right hand values for d =2:n R(m,d-1) = gamma.*u(m,d-1)+(1-2.*gamma).*u(m,d)+gamma.*u(m,d+1)

end fuck(m) = gamma.*uL(t(m+1)); tits(m) = gamma.*uR(t(m+1)); R1(m) = R(m,1) + fuck(m); RM(m) = R(m,3) + tits(m); k = [R1(m),R(m,2),RM(m)]'; unew=tridfun(a,b,c,k)';

u(m+1,2:4) = unew(1,:)' end

contourf (x,t,u); colorbar; xlabel('space'); ylabel('time');

u(t,0)(t) ux(t, 1) = (t). Use the "fictitious node technique for the Neumann boundary condition and initial condition a(0, z) = g(z). u(t,0)(t) ux(t, 1) = (t). Use the "fictitious node technique for the Neumann boundary condition and initial condition a(0, z) = g(z)

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

DB2 Universal Database V7.1 Application Development Certification Guide

Authors: Steve Sanyal, David Martineau, Kevin Gashyna, Michael Kyprianou

1st Edition

0130913677, 978-0130913678

More Books

Students also viewed these Databases questions