This works:
[v1,v2,v3,v4 v5] = deal(rand(2,1));
n1 = 3;
n2 = 5;
x = linspace(-pi,pi,25);
alpha = 0:0.1:2;
f = @(x,alpha) [v1(1,1).*exp(1i.*alpha.*x)+v1(2,1).*exp(-1i.*alpha.*x).*(0<x & x<1) + ...
v2(1,1).*exp(1i.*alpha.*(x-1))+v2(2,1).*exp(-1i.*alpha.*(x-1)).*(1<=x & x<(1+n1/n2)) + ...
v3(1,1).*exp(1i.*alpha.*(x-1-n1/n2))+v3(2,1).*exp(-1i.*alpha.*(x-1-n1/n2)).*(1+n1/n2<=x & x<(2+n1/n2)) + ...
v4(1,1).*exp(1i.*alpha.*(x-2-n1/n2))+v4(2,1).*exp(-1i.*alpha.*(x-2-n1/n2)).*(2+n1/n2<=x & x<(2+2.*n1/n2)) + ...
v5(1,1).*exp(1i.*alpha.*(x-2-2.*n1/n2))+v5(2,1).*exp(-1i.*alpha.*(x-2-2.*n1/n2)).*(2+2.*n1/n2<=x & x<(3+2.*n1/n2))];
[X,A] = meshgrid(x,alpha);
F = abs(f(X,A));
figure(1)
surf(X,A,F)
grid on
xlabel('\itx\rm')
ylabel('\alpha')
zlabel('|\itf\rm|')
Obviously, you will use your own data. I don’t have them so I created data to test it. Also, there were operators missing that I assumed were multiplications, so I inserted them.
Best Answer