-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest2.m
56 lines (54 loc) · 1.1 KB
/
test2.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
%clear all
%close all
N = 9;
uhat = [0,0,4,1,0,1,4,0,0];
utilde = [4,3,0,0,0,0,0,3,4];
k = linspace(-4,4,9);
c = conv(utilde,uhat,'same');
shift = 5;
du = 1e-4;
dc = zeros(N,N);
for j = -4:4
i = j + shift;
if (abs(j) > 2)
utilde(i) = utilde(i) + du;
cp = conv(utilde,uhat,'same');
dc(:,i) =( cp(:) - c(:) ) / du;
utilde(i) = utilde(i) - du;
else
uhat(i) = uhat(i) + du;
cp = conv(utilde,uhat,'same');
dc(:,i) =( cp(:) - c(:) ) / du;
uhat(i) = uhat(i) - du;
end
end
Rk = -1j.*k/2.*conv(uhat,uhat,'same');
L = ones(N,1);
for i=-4:4
M = i+shift;
L = L+Rk(M)*1j.*k(M).*dc(:,M);
end
M = [-4,-3,0,0,0,0,0,3,4];
testConv1 = conv(uhat,uhat,'same');
testConv2 = -1j.*M./2.*testConv1;
testConv3 = -1j.*k.*conv(uhat,testConv2,'same');
testConv3'
%{
clear all
N = 9;
utilde = [14,123,0,0,0,0,0,35,41];
%k = uhat + utilde;
c = conv(utilde,utilde,'same');
shift = 5;
du = 1e2;
dc = zeros(N,N);
for j = -4:4
i = j + shift;
if (abs(j) > 2)
utilde(i) = utilde(i) + du;
cp = conv(utilde,utilde,'same');
dc(:,i) =( cp(:,i) - c(:,i) ) / du;
utilde(i) = utilde(i) - du;
end
end
%}