function [S, M, R, v, r] = PoissonAssembler1D(p); N = length(p); % Antal nodpunkter S = zeros(N,N); % styvhetsmatris M = zeros(N,N); % massmatris R = zeros(N,N); % randmatris v = zeros(N,1); % lastvektor r = zeros(N,1); % randvektor for i = 1:(N-1) % loopa över delintervallen. h = p(i+1) - p(i); % Delintervallets längd. % Du får själv komplettera koden för assembleringen! S(i,i) = S(i,i) + ??? S(i,i+1) = S(i,i+1) + ??? S(i+1,i) = S(i+1,i) + ??? S(i+1,i+1) = S(i+1,i+1) + ??? v(i) = v(i) + ??? v(i+1) = v(i+1) + ??? M(i,i) = M(i,i) + ??? M(i,i+1) = M(i,i+1) + ??? M(i+1,i) = M(i+1,i) + ??? M(i+1,i+1) = M(i+1,i+1) + ??? end % Bidrag från randpunkterna: R(1,1) = 1e4; % I punkten x = a är gamma = 1e4, g_N = 0.0 och g_D = 0.0. r(1) = 1e4 * 0.0; R(N,N) = 1e4; % I punkten x = b är gamma = 1e4, g_N = 0.0 och g_D = 0.0. r(N) = 1e4 * 0.0; % subroutines ----------------------------------------------------------------- function y = f(x) y = x-x.^2+2;