Exam solutions, Moed Bet, 5769

These are only notes, not full answers.
All the questions can be answered in many ways! Especially the ones in part B.

==============================================================================

SECTION A, QUESTION 1
=====================

A = [1 -7 2 ; 2 0 4 ; -5 3 1] ;
b = [-3 ; 1 ; 6 ] ;
x = A\b 

There are many ways to check the solution is unique. 
For example type det(A) to see if the determinant is nonzero. 

==============================================================================

SECTION A, QUESTION 2
=====================

Here is a good way to do it. Each term in the series is x/(a+n)/(b+n)
times the previous term:

f:=proc(a,b,x)
local n,s,t;
s:=0;
t:=1/a/b;
for n from 1 to 100 do
   t:=t*x/(a+n)/(b+n)
   s:=s+t; 
end do; 
end proc;

This is doing it exactly, not numerically. For numerically I should 
put "evalf" somewhere (and there are other subtleties too, that are
not for this course). 

Here is a less good way to do it, computing each term separately: 

f:=proc(a,b,x)
local i,n,s,den;
s:=0;
for n from 1 to 100 do
   den:=a*b;
   for i from 1 to n do
      den:=den*(a+i)*(b+i);
   end do 
   s:=s+x^n/t; 
end do;
end proc; 

==============================================================================

SECTION A, QUESTION 3
=====================

Define a function 

function  a = q3(x)
a = (x(1)+2*x(2)+3*x(3))/(1+x(1)^2+x(2)^4+x(3)^6);

Then type   

opts = optimset( 'xtol', 1e-8 )
format long 
fminsearch( @q3, [0,0,0], opts ) 

==============================================================================

SECTION A, QUESTION 4
=====================

Define the 3 functions:
f1:=1+3*x-x^2;            the "down" parabola
f2:=(x^2-4*x+2)/5;        the "up" parabola
f3:=(x-1)/5;              the line 

Each function intersects the other in two points. We need to find
these points and select the right one:
solve( f1=f2, x); 
p1:= (take the smaller x where the 2 parabolas meet)
solve( f2=f3, x); 
p2:= (take the smaller x where the line meets the "up" parabola)
solve( f1=f3, x); 
p3:= (take the larger x where the line meets the "down" parabola)

The area we want is
int( f1-f2, x=p1..p2) + int( f1-f3, x=p2..p3) ; 

(The answer, after simplifying, is 
-(13/60)*sqrt(13)+(433/2160)*sqrt(433)+(158/375)*sqrt(79)-1771/54000
which is about 7.1)

==============================================================================

SECTION A, QUESTION 5
=====================

Here is a solution using logic similar to question 4. 
Define functions g1=f1-f2, g2=f2-f3, g3=f3-f1 . 
I will do it inline, you could use m-files

g1=inline('(1+3*x-x.^2)-(x.^2-4*x+2)/5')
g2=inline('(x.^2-4*x+2)/5-(x-1)/5')
g3=inline('(x-1)/5-(1+3*x-x.^2)')
p1=fzero( g1, 0 )
p2=fzero( g2, 1 )
p3=fzero( g3, 3 )
quad( g1, p1, p2) - quad( g3, p2, p3) 

Here is another much better solution: 
Define the following single function 

function y=q5(x)
y=zeros(size(x));
for i=1:size(x,1)
   for j=1:size(x,2)
      f1 = 1+3*x(i,j)-x(i,j)^2 ;
      f2 = (x(i,j)^2-4*x(i,j)+2)/5 ; 
      f3 = (x(i,j)-1)/5) ; 
      if f1>max(f2,f3)
          y(i,j)=f1-max(f2,f3);
      end
   end
end 

and then do quad(@q5, -0.5, 3.5) 

==============================================================================

SECTION A, QUESTION 6
=====================

with(LinearAlgebra);
A:=<<t,2,1>|<2,3,-1>|<1,-1,5>>;
t1:= solve( subs(x=3,CharacteristicPolynomial(A,x))=0 , t );
Eigenvalues(subs(t=t1,A));

gives t1=-9, other eigenvalues are -2+sqrt(55), -2-sqrt(55) 

==============================================================================

SECTION B, QUESTION 1
=====================

Basically we need to find the integral of g-f over regions where it is 
positive. So build a function that gives g-f when this is positive and 
zero otherwise. 

function z=q1a(x,y)

% g-f if this is positive, otherwise zero 
% must work for x a vector and y a scalar  

f = 6./(1+x.^2+y^2); 
g1 = 1./(1/6+x.^2+(y-2)^2); 
g2 = 1./(1/6+(x+1).^2+(y-sqrt(3)/2)^2); 
g3 = 1./(1/6+(x-1).^2+(y-sqrt(3)/2)^2); 
z = g1+g2+g3-f ;
for i=1:size(z,1);
   for j=1:size(z,2);
      if z(i,j)<0
         z(i,j)=0
      end
   end
end 

Now the question can be solved by doing three double integrals over
appropriate regions 

dblquad( @q1a, 0,3,-2,1 )    % closest shpitz, x between 0 and 3, y between -2 and 1
dblquad( @q1a, -3,0,-2,1 )   % shpitz on left, x between -3 and 0, y between -2 and 1
dblquad( @q1a, -2,2,1,4 )    % shpitz at the back, x between -2 and 2, y between 1 and 4 

These regions are all bigger than necessary. It is possible to find smaller 
rectangles to integrate over. There are many ways to do this - for example
write a function that takes a rectangle and checks whether f>g (using q1a) 
at all points of the boundary of the rectangle. 

==============================================================================

SECTION B, QUESTION 2
=====================

I have written everything as functions, this is not necessary 

a) 

function [Ppt,Qpt,d]=q2a(P,Q)

% finds the maximum distance between points in P and Q
% returns the point in P, the point in Q and the distance 

d=sqrt((P(1,1)-Q(1,1))^2+(P(1,2)-Q(1,2))^2); the distance
Ppt=P(1,:);    % the point in P
Qpt=Q(1,:);    % the point in Q 
for i=1:n
  for j=1:n
    d2=sqrt((P(i,1)-Q(j,1))^2+(P(i,2)-Q(j,2))^2);
    if d2>d
       d=d2;
       Ppt=P(i,:);
       Qpt=Q(j,:); 
    end
  end
end 

b) same but with "d2<d" as opposed to "d2>d"  

function [Ppt,Qpt,d]=q2b(P,Q)

% finds the minimum distance between points in P and Q
% returns the point in P, the point in Q and the distance 

d=sqrt((P(1,1)-Q(1,1))^2+(P(1,2)-Q(1,2))^2); the distance
Ppt=P(1,:);    % the point in P
Qpt=Q(1,:);    % the point in Q 
for i=1:n
  for j=1:n
    d2=sqrt((P(i,1)-Q(j,1))^2+(P(i,2)-Q(j,2))^2);
    if d2<d
       d=d2;
       Ppt=P(i,:);
       Qpt=Q(j,:); 
    end
  end
end 

c) 

function q2c(P,Q) 
[P1,Q1]=q2a(P,Q);   % find the points with the maximum distance
[P2,Q2]=q2b(P,Q);   % find the points with the minimum distance
hold on 
plot( P(:,1) , P(:,2), 'b.' )    % plot points in P in blue
plot( Q(:,1) , Q(:,2), 'r.' )    % plot points in Q in red
plot( [P1(1),Q1(1)] , [P1(2),Q1(2)], 'g' )   % green line joining P1 and Q1 
plot( [P2(1),Q2(1)] , [P2(2),Q2(2)], 'k' )   % black line joining P2 and Q2 

==============================================================================

SECTION B, QUESTION 3
=====================

a) 
(1) q1,q2 are defined to be the appropriate quadratic expressions
(2) fsolve is used to find a solution of q1=q2=0. however, it just finds 
    one expression
(1) the combination 6q1-2q2 does not have an x-squared term in, i.e. it
    is linear in x and we can find x as a function of y
(2) we write x as the appropriate function of y in q1, and use fsolve   
    to find all the values of y for which this vanishes.
(3) for each value of y, find the appropriate value of x 

b)
f:=proc(A1,B1,C1,D1,E1,F1,A2,B2,C2,D2,E2,F2)
local q1,q2,x,y,X,Ys,i;
q1:=A1*x^2+2*B1*x*y+C1*y^2+D1*x+E1*y+F1;
q2:=A2*x^2+2*B2*x*y+C2*y^2+D2*x+E2*y+F2;
X:=solve( A2*q1-A1*q2, x );
Ys:=[fsolve(numer(simplify(subs(x=X,q1)))=0,y)];
for i from 1 to nops(Ys) do 
   print( [subs(y=Ys[i],X), Ys[i] ] );
end do;
end proc; 

c) do with(plots) before starting
we need to find the right range to draw. start by finding the largest and
smallest x and y of an intersection point. then add a bit. then draw.
the following should be added to the procedure:  

local q1,q2,x,y,X,Ys,i,xmin,xmax,ymin,ymax,p1,p2;  (instead of what was before)

xmin:=subs(y=Ys[1],X);
xmax:=subs(y=Ys[1],X);
ymin:=Ys[1];
ymax:=Ys[1];
for i from 2 to nops(Ys) do 
    if subs(y=Ys[i],X)<xmin then 
       xmin:=subs(y=Ys[i],X);
    end if;
    if subs(y=Ys[i],X)>xmax then 
       xmax:=subs(y=Ys[i],X);
    end if;
    if Ys[i]<ymin then 
       ymin:=Ys[i];
    end if;
    if Ys[i]>ymax then 
       ymax:=Ys[i];
    end if;
end do; 
xmin:=xmin-1;
xmax:=xmax+1;
ymin:=ymin-1;
ymax:=ymax+1; 
p1:=implicitplot(q1=0,x=xmin..xmax,y=ymin..ymax);
p2:=implicitplot(q2=0,x=xmin..xmax,y=ymin..ymax);
display(p1,p2);

It is rather weak, it will work sometimes, but often it won't 

==============================================================================


Back to course homepage
Back to my teaching homepage
Back to my homepage