Skip to content
Snippets Groups Projects
Forked from agnumpde / dune-tectonic
1347 commits behind the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
foo.m 927 B
% -*- mode:octave -*-

clear all
close all

if exist('graphics_toolkit','file') graphics_toolkit('fltk') end

x = -50:1:300;
y = -125:1:50;
[X, Y] = meshgrid(x,y);
xlabel('x')
ylabel('y')

tic
for i=1:length(y)
  in = [ X(i,:); Y(i,:) ];
  f(i,:) = duneevaluate(in);
end
clear X Y;
toc

surf(x, y, f)
hold on;

oldvec = [279; 0]; # Something random that takes a couple of iterations
olddiff = [ 0; 0];

for i = 1:10 # Something random
  newdiff = duneminimise(oldvec);
  newvec = oldvec + newdiff;
  line([oldvec(1) newvec(1)], ...
       [oldvec(2) newvec(2)], ...
       [duneevaluate(oldvec) duneevaluate(newvec)], ...
       'color', 'r');
  printf("Norm of step: %f\n", norm(newdiff));
  if (i != 1)
    printf("Angle between steps: %f degrees\n", ...
	   acos( dot(olddiff,newdiff) / (norm(olddiff) * norm(newdiff)) ) / pi * 180);
  end
  oldvec=newvec;
  olddiff=newdiff;
end

axis tight;
xlabel x;
ylabel y;
hold off;