translating from python to matlab
1 view (last 30 days)
Show older comments
Hi,
I'm having some difficulties translate this script in python to matlab. Could someone help me and give me a proposition?
endfrom matplotlib.pylab import *
N = 1000
r = linspace(0,10,N)
v = zeros(N)
v[0] = 0
a = 4
dr = r[1] - r[0]
c = 1
def cr(r):
if r <= a:
return c
else:
return 0
def vanalytic(r):
if r <= a:
return 0.5*c*r
else:
return 0.5*(c*a**2)/r
cr = vectorize(cr)
vanalytic = vectorize(vanalytic)
for i in range(1,N):
v[i] = ((r[i]*cr(r[i]) + r[i-1]*cr(r[i]))/2.)*(dr/r[i]) + (r[i-1]*v[i-1])/r[i]
plot(r,v,r,vanalytic(r))
legend(['Numerical','Analytical'],loc='best')
xlabel('r distance')
ylabel('v distance per seconds')
title('Oppgave c): R=10, c=1, a=4, N=1000')
show()
% code
0 Comments
Answers (1)
Kevin
on 29 Apr 2016
I am not sure if this helps. But starting in R2016a (or maybe even in R2015b), you can call python function from MATLAB. So you don't need to re-code.
0 Comments
See Also
Categories
Find more on Call Python from MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!