Register to reply

[Matlab] Numerical Code for the NLS equation

by queenstudy
Tags: code, equation, matlab, numerical
Share this thread:
Nov13-13, 07:39 PM
P: 102
i just copied the Numerical Code for the NLS equation which is the following:
%---specify input parameters
clear all;
distance=input('enter fiber length(in units of L_D)=');
beta2=input(' dispersion: 1 for normal, -1 for anomalous');
N=input('Nonlinear parameter N=');
mshape=input('m=0 for sech , m>0 for super-Gaussian =');
chirp0=0; % input pulse chirp
%--- set stimulation parameters
nt=1024; Tmax=32; % FFT points and window size
step_num=round(20*distance*N^2); % number of z steps
deltaz=distance/step_num; % step size in tau
%--- tau and omega arrays
tau=(-nt/2:nt/2-1)*dtau; % temporal grid
omega=(pi/Tmax)*[(0:nt/2-1)*(-nt/2 :-1)];% frequency grid
%--- input field profile
if mshape==0
uu= sech(tau)*exxp(-0.5i*chirp0*tau.^2); %soliton
else %super Gaussian
%-- plot input pulse shape and spectrum
figure; subplot(2,1,1);
plot(tau,abs(uu).^2,'--k');hold on;
axis([-5 5 0 inf]);
xlabel('normalized time');
yalebl('normalized power');
title('input and output pulse shape and spectrum');
plot(fftshift(omega)/(2*pi),abs(temp).^2,'--k');hold on;
axis([-.5 .5 0 inf]);
xlabel('normalized frequency');
ylabel('spectral power');
%---store dispersive phase shifts to speedup code
dispersion=exp(1i*0.5*beta2*omega.^2 *deltaz);%phase factor
hhz=1i*N^2*deltaz; % nonlinear phase factor
%******[beginning of main loop]****
%scheme:1/2N -> D-> 1/2N; first half step nonlinear
temp=uu.*exp(abs(uu).^2.*hhz/2); %note hhz/2
for n=1:step_num
uu=temp.*exp(-abs(uu).^2.*hhz/2); % final field
temp=fftshift(ifft(uu)).*(nt*dtau)/sqrt(2*pi);%final spectrum
%*****[end of main loop]********

%----- plot output pulse shape and spectrum

and as syntax there no mistake but when i wanted to run it they told me the following error:

Error in ==> Untitlednls at 3
distance= input('enter fiber length(in units of L_D)=');
what should i do even though i just copied it
Phys.Org News Partner Science news on
Scientists discover RNA modifications in some unexpected places
Scientists discover tropical tree microbiome in Panama
'Squid skin' metamaterials project yields vivid color display
Nov14-13, 05:10 AM
Sci Advisor
PF Gold
f95toli's Avatar
P: 2,259
I just copied and pasted the code in your post, and I don't get the same error as you, line 3 works fine.

However, I do get other errors; dtau is not defined, the line where the frequency grid is defined (line 14) is not working because the (I assume) there is a dot missing in front of the "*"

Hence, the code as is does not work.

I am using Matlab 2012b

Edit: Btw, I just realized that the error message you posted does not look like Matlab. Are you trying to run this in Python using scipy?
If so I don't think it will work without some modifications.
Nov16-13, 01:22 AM
P: 102
no i am trying to run it in matlab2010 does it make any difference between different editons

Nov16-13, 01:25 AM
P: 102
[Matlab] Numerical Code for the NLS equation

??? Attempt to execute SCRIPT input as a function:
C:\Users\Abd Lebnen\Documents\MATLAB\input.m

Error in ==> leboz at 3
distance= input('enter fiber length (in units of L_D)= ');
Nov16-13, 08:34 AM
Sci Advisor
PF Gold
DrGreg's Avatar
P: 1,849
Quote Quote by queenstudy View Post
??? Attempt to execute SCRIPT input as a function:
C:\Users\Abd Lebnen\Documents\MATLAB\input.m

Error in ==> leboz at 3
distance= input('enter fiber length (in units of L_D)= ');
If only you'd given the full error message before!

It looks like the problem is that instead of using the built-in "input" function, it's trying to use the contents of "C:\Users\Abd Lebnen\Documents\MATLAB\input.m" instead. You need to rename that file or move it somewhere else where MATLAB won't find it.

Register to reply

Related Discussions
Please I need a Help with matlab code (Controlling the LEGO NXT Using MatLab) Math & Science Software 5
Matlab code for time-independent schrodinger equation Quantum Physics 0
Numerical integration - optimisation of code General Math 4
C code numerical methods Programming & Computer Science 7
Help in optimizing code: numerical methods General Math 0