我想使用Matlab解决化学工程中的一些迭代问题。所以我要解决的问题是计算串联绝热反应器的相互转换,这是给出的算法:
我已经在VBA Excel中解决了,代码是:
Public Function intrap(h, y)
n = y.Count
If n Mod 2 > 0 Then
MsgBox ("JUMLAH DATA HARUS GENAP")
intrap = "ERROR:JUMLAH DATA HARUS GENAP"
Exit Function
End If
For i = 1 To n
s1 = s1 + y(i)
Next i
For i = 2 To (n - 1)
s2 = s2 + y(i)
Next i
intrap = (h / 2) * (y(1) + (2 * s2) + y(n))
End Function
并且输出是Output
所以,如何在matlab中做到这一点?
应该是这样的:
function intrap(h, y)
n = length(y);
if n % 2 > 0
disp("JUMLAH DATA HARUS GENAP")
intrap = "ERROR:JUMLAH DATA HARUS GENAP"
return
end
for i = 1:n
s1 = s1 + y(i)
end
for i = 2:(n - 1)
s2 = s2 + y(i)
end
intrap = (h / 2) * (y(1) + (2 * s2) + y(n))
end
Id建议您做一些教程。您会发现Matlab非常简单,易于编程。
纯粹