Converting Python to Matlab
이전 댓글 표시
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
2017년 10월 24일
We do not have the data or NumPanels to test with.
Zach Dunagan
2017년 10월 24일
편집: Zach Dunagan
2017년 10월 25일
채택된 답변
추가 답변 (2개)
Zach Dunagan
2017년 10월 25일
편집: Walter Roberson
2017년 10월 25일
댓글 수: 15
Walter Roberson
2017년 10월 25일
For the special case of square matrices, often the easiest way is
M - diag(diag(M))
For other matrices,
tril(M,1) + triu(M,1)
Zach Dunagan
2017년 10월 26일
Walter Roberson
2017년 10월 26일
Just in case you have unsigned integers or the case where the existing value is so different from the new value that you have to worry about loss of precision:
Square matrix:
M(1:size(M,1)+1:end) = NewNumber;
Non-square matrix:
shorter = min(size(M,1),size(M,2));
lastidx = size(M,1)*(shorter-1)+shorter;
M(1:size(M,1)+1:lastidx) = NewNumber;
Zach Dunagan
2017년 10월 26일
Walter Roberson
2017년 10월 26일
M is the array whose diagonal is to be set. For example,
nSource(1:size(nSource,1)+1:end) = NewNumber;
if nSource is square.
Zach Dunagan
2017년 10월 26일
편집: Walter Roberson
2017년 10월 26일
Zach Dunagan
2017년 10월 26일
편집: Walter Roberson
2017년 10월 26일
Walter Roberson
2017년 10월 26일
A[:numPanels,:numPanels]=nSource
would be
A(1:end-1, 1:end-1) = nSource;
I am not certain about
A[:numPanels,-1]=np.sum(nVortex,axis=1)
but I suspect
A(1:end-1, end) = sum(nVortex, 2);
Zach Dunagan
2017년 10월 26일
Zach Dunagan
2017년 10월 26일
Andrei Bobrov
2017년 10월 26일
A(end, 1:end-1) = tSource(1, :) + tSource(end, :);
Zach Dunagan
2017년 10월 27일
Zach Dunagan
2017년 10월 28일
편집: Walter Roberson
2017년 10월 28일
Zach Dunagan
2017년 10월 28일
편집: Walter Roberson
2017년 10월 28일
Zach Dunagan
2017년 10월 28일
ASHOK KUMAR MEENA
2022년 4월 18일
0 개 추천
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
카테고리
도움말 센터 및 File Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!