Clear Filters
Clear Filters

Converting Python to Matlab

2 views (last 30 days)
Zach Dunagan
Zach Dunagan on 24 Oct 2017
Answered: ASHOK KUMAR MEENA on 18 Apr 2022
Spent a few hours on trying to figure out why the outputs are different, no luck. Python and Matlab are in a txt file along with their outputs.
Suggestions on what I should be looking at to resolve the issue?
  2 Comments
Walter Roberson
Walter Roberson on 24 Oct 2017
We do not have the data or NumPanels to test with.
Zach Dunagan
Zach Dunagan on 24 Oct 2017
Edited: Zach Dunagan on 25 Oct 2017
I figured it out.

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 24 Oct 2017
Edited: Andrei Bobrov on 24 Oct 2017
Small typo in MATLAB code in nu2
nu2 = atan2(-(xc(k)-xp(n))*sin(theta(k))+(yc(k)-yp(n))*cos(theta(n))+(xp(n+1)-xp(n))*sin(theta(n))-(yp(n+1)-yp(n))*cos(theta(n)),(xc(k)-xp(n))*cos(theta(n))+(yc(k)-yp(n))*sin(theta(n))-(xp(n+1)-xp(n))*...
cos(theta(n))-(yp(n+1)-yp(n))*sin(theta(n))); % fixed!
  3 Comments
Andrei Bobrov
Andrei Bobrov on 24 Oct 2017
Stop Zach!
How?
cos(theta(n)-(yp(n+1)-yp(n))*sin(theta(n)))
or
cos(theta(n))-(yp(n+1)-yp(n))*sin(theta(n))
Zach Dunagan
Zach Dunagan on 24 Oct 2017
Oh... Thanks.

Sign in to comment.

More Answers (2)

Zach Dunagan
Zach Dunagan on 25 Oct 2017
Edited: Walter Roberson on 25 Oct 2017
How would I insert zeros in the diagonal line of these 128 x 128 matrices?
nSource = -(sin(theta-transpose(theta)))*ups + (cos(theta-transpose(theta)))*wps;
ftSource = cos(theta-transpose(theta))*ups + sin(theta-transpose(theta))*wps;
nVortex = sin(theta-transpose(theta))*upv + cos(theta-transpose(theta))*wpv;
tVortex = cos(theta-transpose(theta))*upv + sin(theta-transpose(theta))*wpv;
  15 Comments
Zach Dunagan
Zach Dunagan on 28 Oct 2017
Edited: Walter Roberson on 28 Oct 2017
I changed dot to mtimes() or I could use .*
I compare the first dot to second dot of python and everything looks to be lining up. When I compare the normVelFoil outputs they don't line up.
Here is what I changed..
normVelFoil = mtimes(nSource, x(1:end-1, 1)) + mtimes(nVortex, x(end)*ones(numPanels, 1)) + normU;
Zach Dunagan
Zach Dunagan on 28 Oct 2017
I have come to a conclusion the outputs are the same. They are both extremely small values, practically zero.

Sign in to comment.


ASHOK KUMAR MEENA
ASHOK KUMAR MEENA on 18 Apr 2022
def Lagrange(x, y, n, xx):
sum = 0
for i in range(0, n + 1):
product = y[i]
for j in range(0, n + 1):
if (i != j):
product = product * (xx - x[j]) / (x[i] - x[j])
sum += product
return sum
def Trapezoidal(h, n, f):
sum = f[0]
for i in range (1, n):
sum = sum + 2 * f[i]
sum = sum + f[n]
ans = h * sum / 2
return ans

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!