Skip to main content

TRAVELING WAVE ON A NONREALISTIC STRING


## Script that simulates a traveling wave on an nonrealistic string.
##The one end of the string is driven sinusoidally
## while the other end is kept fixed.
dx=1e-2; ## increment in horizontal displacement(m)
c=300; ## speed of the wave (m/s)
dt=dx/c; ## Increment in time (s)
r=c*dt/dx; ## Ratio of speed of wave to
## the speed of the string
## Initial profile
x=-1:dx:1;
y=zeros(size(x)); ## Change the gaussian distribution
## to get zero vertical
##displacements for all parts of
##the string.(purely flat initially)
plot(x,y)
pause
##For the sinusoidally driven end, given constans are:
A=0.5; ##amplitude(m)
rate=100; ## inverse of the period (cycles/s)
omega=2*pi*rate ; ## angular frequency(Radians/s)
## Time boundary conditions. Get previous and
## present displacement as initial profile
ynow=y;
yprev=y;
Nsteps=2000;
## all steps are the same for the loop as the string_fixed
## apart from the function ynext
for n=1:Nsteps
ynext=propagate_driven(ynow,yprev,r,omega,A,n,dt);
plot(x,ynext,';;')
axis([-1.05,1.05,-1.1,1.1])
pause(0);
yprev=ynow;
ynow=ynext;
endfor

Comments

Popular posts from this blog

SIMPLE AND MODIFIED EULER METHOD

##Usage:Call Octave from terminal ##and then call EulerMethodUmitAlkus.m ##from octave and finally ##press enter. That's all. ##Simple Euler Method ##Constants and initializations x=[]; ## initial empty vector for x y=[]; ## initial empty vector for y x(1)=1; ## initial value of x y(1)=1; ## initial value of y h=1E-3; ## increment in x dery=[]; ## 1st derivative of y wrt x dery(1)=0;## 1st entry of dery n=1; ## inital loop index for while ## enter the while loop for the interval x=[1,2] while (x(n)<=2) x(n+1)=x(n)+h; dery(n+1)=x(n)*x(n)-2*y(n)/x(n); ##given y(n+1)=y(n)+h*dery(n+1); ##Euler method n++; endwhile ##exit from the 1st while loop ##Modified Euler Method ##Constant and initializations x(1)=1; ## beginnig of the interval [1,2] ymod(1)=1; ## inital value for modified y. ymid=[]; ## empty vector function evaluated at x midpoint xmid=[]; ## empty vector func. of midpoints of the interval h in x-axis. derymod=[]; ## modified derivatives of ymod

NEWTON-RAPSON METHOD-8th degree Legendre polynomial

## Newton-Rapson Method to the smallest non negative root ## of the 8th degree Legendre Polynomial ## P8(x)=(1/128)(6435x^8-12012x^6+6930x^4-1260x^2+35) ## where -1<=x<=1. ## for the smallest non negative root, we can ignore ## all the terms except the last two by truncated ## the function to be zero and find ## x=0.167 as the initial smallest non negative ## root. ##Constants and initializations x=[]; ## Empty array for the iterated x roots x(1)=0.16700000; ## Initial guess to begin the iteration for the ## smallest non-negative root. L8=[]; ## Empty array for the Legendre polynomial L8p=[]; ## Empty array for the derivative of the Legendre polynomial for i=1:100 ##The value of the function at x L8(i)=(1/128)*(6435*x(i)^8-12012*x(i)^6+6930*x(i)^4-1260*x(i)^2+35); ##The value of the derivative of the function at x L8p(i)=(1/128)*(6435*8*x(i)^7-12012*6*x(i)^5+6930*4*x(i)^3-1260*2*x(i)); x(i+1)=x(i)-L8(i)/L8p(i); ## the iteration endfor ## For plot let's