필터 지우기
필터 지우기

Converting Python to Matlab

조회 수: 2 (최근 30일)
Zach Dunagan
Zach Dunagan 2017년 10월 24일
답변: ASHOK KUMAR MEENA 2022년 4월 18일
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
Walter Roberson
Walter Roberson 2017년 10월 24일
We do not have the data or NumPanels to test with.
Zach Dunagan
Zach Dunagan 2017년 10월 24일
편집: Zach Dunagan 2017년 10월 25일
I figured it out.

댓글을 달려면 로그인하십시오.

채택된 답변

Andrei Bobrov
Andrei Bobrov 2017년 10월 24일
편집: Andrei Bobrov 2017년 10월 24일
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
Andrei Bobrov
Andrei Bobrov 2017년 10월 24일
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 2017년 10월 24일
Oh... Thanks.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Zach Dunagan
Zach Dunagan 2017년 10월 25일
편집: Walter Roberson 2017년 10월 25일
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
Zach Dunagan
Zach Dunagan 2017년 10월 28일
편집: Walter Roberson 2017년 10월 28일
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 2017년 10월 28일
I have come to a conclusion the outputs are the same. They are both extremely small values, practically zero.

댓글을 달려면 로그인하십시오.


ASHOK KUMAR MEENA
ASHOK KUMAR MEENA 2022년 4월 18일
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

카테고리

Help CenterFile Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by