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!