Effacer les filtres
Effacer les filtres

Converting Python to Matlab

2 vues (au cours des 30 derniers jours)
Zach Dunagan
Zach Dunagan le 24 Oct 2017
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 commentaires
Walter Roberson
Walter Roberson le 24 Oct 2017
We do not have the data or NumPanels to test with.
Zach Dunagan
Zach Dunagan le 24 Oct 2017
Modifié(e) : Zach Dunagan le 25 Oct 2017
I figured it out.

Connectez-vous pour commenter.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 24 Oct 2017
Modifié(e) : Andrei Bobrov le 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 commentaires
Andrei Bobrov
Andrei Bobrov le 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 le 24 Oct 2017
Oh... Thanks.

Connectez-vous pour commenter.

Plus de réponses (2)

Zach Dunagan
Zach Dunagan le 25 Oct 2017
Modifié(e) : Walter Roberson le 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 commentaires
Zach Dunagan
Zach Dunagan le 28 Oct 2017
Modifié(e) : Walter Roberson le 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 le 28 Oct 2017
I have come to a conclusion the outputs are the same. They are both extremely small values, practically zero.

Connectez-vous pour commenter.


ASHOK KUMAR MEENA
ASHOK KUMAR MEENA le 18 Avr 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

Catégories

En savoir plus sur Call Python from MATLAB dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by