## 135 Reputation

12 years, 188 days

## Is Ising a package?...

Maple

Hi all

Is Ising a package?

for i = 1:12000

%while (1),

% Choose a random value between 0 and 1 for the interaction strength

J = rand()+1e-10;

% Perform a simulation

[M, N, E] = ising2(n_grid, J);

% Records the results

Ms = [Ms M/(n_grid^2)];

Es = [Es E/(n_grid^2)];

Ns = [Ns N];

Js = [Js J];

i = i+1;

## Minimum points of 3D plots...

Maple

Hello,

How can I get the minimum point of (sin(x+y))

plot3d(sin(x+y), x=-1..1, y=-1..1);

## Bound of while loop...

Maple

Hello all,

here the programme I think there are some mistakes couldnot know where please any comment will be helpful:

# Firstly, set the size limit for the grid, which shall define how many
# points there are in both the vertical and horizontal direction
size=40;
# limit is a variable used to set an unobtainable upper bound
limit=size+1;
# x defined, starting at 1, and two other variables ud (upper diagonal) and
# dd (downward diagonal) begin at 0. All three are used to iterate through
# line creation

x=1;
ud=0;
dd=0;
# Iteration through x, using the line function to create a number of
# horizontal lines up to the limit point

while(x<(limit))
line([0, size], [x, x]);
x=x+1;
end

# Now iterating through the diagonals pointing upwards, using two sets of
# lines, both starting from the line going through the origin. The first
# iterates through the lines that pass through positive x values at y=0,
# the second iterates through the lines passing through negative x values
# at y=0
# ud must be increased by 2 each time to ensure that equilateral triangles
# are formed.

while(ud<(limit))
line([(ud), (size)], [0, (size-ud)]);
line([0, (size-ud)], [(ud), (size)]);
ud=ud+2;
end

# Similar to before, except this time iterating through downward pointing
# diagonals.

while(dd<(limit))
line([(dd), 0], [0, (dd)]);
line([(size), (dd)], [(dd), (size)]);
dd=dd+2;
end

# xvector and yvector set up as two vectors holding x and y co-ordinates of
# points respectively.

xvector = zeros(1, limit);
yvector = zeros(1, limit);

# Reinitiallising x and y values for iterative purposes.

x=0;
y=0.5;
n=1;

# The program now iterates through potential y values for the potential
# points. Then it tests the value of y to see what orientation the lattice
# is at that point, then randomly selects x values to enter, iterating
# between all the possible x values in the orientation before moving on to
# the next y value.

while(y<size)
if(mod(y,1)==0.5)
x=0.5;
while(x<size)
z=rand;
if(z>0.5)
xvector(n) =x;
yvector(n) =y;
n=n+1;
end
x=x+1;
end
elseif(mod(y,2)==1)
x=0;
while(x<size)
z=rand;
if(z>0.5)
xvector(n) =x;
yvector(n) =y;
n=n+1;
end
x=x+2;
end
else
x=1;
while(x<size)
z=rand;
if(z>0.5)
xvector(n) =x;
yvector(n) =y;
n=n+1;
end
x=x+2;
end
end
y=y+0.5;

end

# The program then enters the two co-ordinate vectors saved previously into
# the scatter function.

hold;
scatter(xvector, yvector);

## Problem with plot...

Maple

Hi every one, I'm trying to plot the function f which is functions in terms of Bessel functions:Here is the code plz any advise i'll be grateful.

restart:
assume(d,real):assume(t,real):omega:=10^6:Digits:=15:assume(n,real):Delta:=0:
N:=1:N1:=1+2*N;M:=sqrt(N*(N+1));alpha:=M/(2*omega):z(0):=-1:
3
(1/2)
2
I1:=simplify(Sum(BesselJ(n,-I*alpha)*(1/(N1+I*2*omega*n))*(exp((N1+I*2*omega*n)*t)-1),n=-10..10)):

sz:=z(0)*exp(-N1*t)*exp(-alpha*sin(2*omega*t))-exp(-N1*t)*exp(-alpha*sin(2*omega*t))*I1:
I3:=Sum((BesselJ(n,-2*alpha)*(-1)^n+BesselJ(n,-2*I*alpha))*exp(-(N1-I*Delta+2*n*omega)*t),n=-infinity..infinity):
w:=laplace(I3,t,s): w1:=subs(s=I*d,w):
w2:=limit(sz,t=infinity):
Need to plot f
f:=w1*w2:
with(plots):plot(Re(f),d=0..5,tickmarks=[2, 2],thickness=2,linestyle=1,color=black,axes=boxed,titlefont=[SYMBOL,14],font=[1,1,18],tickmarks=[2,3],thickness=2);
Warning, unable to evaluate the function to numeric values in the region; see the plotting command's help page to ensure the calling sequence is correct

## IVP of 3 EQS u(t), v(t), w(t)...

Maple 15

I seperate the variables in Real and Imigneray parts,  as follows:

restart:
Dijits:=20:
------------------------- Defining the nature of the variables used ----------------------
assume(t,real):

x(0):=-1:y(0):=1:z(0):=conjugate(y(0)):N:=10:Delta:=5:omega:=10^(6):N1:=1+2*N:M:=sqrt(N*(N+1)):
t0:=0.0:tN:=30.0: M1:=5000;:th:=evalf((tN-t0)/M1):
5000
ini1:=u(0)=Re(y(0)), v(0)=Im(z(0)),w(0)=x(0);
u(0) = 1, v(0) = 0, w(0) = -1
var:={u(t),v(t),w(t)}:
dsys1 :=diff(w(t),t)=-(N1+M*cos(2*omega*t))*w(t)-1+2*u(t)*cos(2*omega*t)+2*v(t)*sin(2*omega*t), diff(u(t),t)=-N1*u(t)+Delta*v(t)-2*M+(2*M*u(t)-N1-w(t))*cos(2*omega*t)-2*M*v(t)*sin(2*omega*t), diff(v(t),t)=-N1*v(t)-Delta*u(t)-2*M+(2*M*u(t)-N1-w(t))*sin(2*omega*t)+2*M*v(t)*cos(2*omega*t):
dsol1 :=dsolve({dsys1,ini1},var,numeric, output=listprocedure, abserr=1e-9, relerr=1e-8,range=0..1,maxfun=5000):
Warning, cannot evaluate the solution further right of .46544244e-3, maxfun limit exceeded (see ?dsolve,maxfun for details)
dsolu:=subs(dsol1,u(t)):dsolv:=subs(dsol1,v(t)):dsolw:=subs(dsol1,w(t)):
t1:=array(0..M1,[]): u1:=array(0..M1,[]): v1:=array(0..M1,[]): w1:=array(0..M1,[]): pt1:=array(0..M1,[]):pt2:=array(0..M1,[]):pt3:=array(0..M1,[]):
for i from 0 to M1 do t1[i]:=evalf(th*i):u1[i]:=evalf(dsolu(t1[i]));v1[i]:=evalf(dsolv(t1[i])):w1[i]:=evalf(dsolw(t1[i])):pt1[i]:=[t1[i],u1[i]]:pt2[i]:=[t1[i],v1[i]]:pt3[i]:=[t1[i],w1[i]]:od:
Error, (in dsolu) cannot evaluate the solution further right of 0.46544244e-3, maxfun limit exceeded (see ?dsolve,maxfun for details)

with(plots):
unassign('i'):mytab1:=[seq(pt1[i],i=0..M1)]:mytab2:=[seq(pt2[i],i=0..M1)]:mytab3:=[seq(pt3[i],i=0..M1)]:
plot(mytab3,t=0..5,tickmarks=[6, 6],axes=boxed);

but I got an error

 First 6 7 8 9 10 11 12 Page 8 of 13
﻿