簡體   English   中英

將Excel方程式轉換為matlab

[英]translate excel equation to matlab

我需要將Excel公式轉換為Matlab的幫助。

我已經在excel中翻譯了一個簡單的if語句,例如:

Ps(t)=IF(T(t)<Tp,P,0)

進入matlab如下:

 if Ps(t)=T(t)<Tp;              
 p;
 0;
 end

這個對嗎? 如果是這樣,我該如何翻譯更復雜的excel公式,例如:

=IF(F6>273.16,(IF(AND(AB5>0,Y6>0),MIN(Y6*3600/$AE$11,AB5),0)),0)

如果您在Excel中具有Ps(t)=IF(T(t)<Tp,P,0) ,則在Matlab中可以執行以下操作:

Ps = zeros(1, length(T));
Ps(T<Tp) = p;

其中T是一個向量。 這讀取將Ps定義為長度與T相同的零數組。 對於這些索引T其中T(i)<Tp設置在那些PS到p 這是邏輯索引。

另一個表達式:

=IF(F6>273.16,(IF(AND(AB5>0,Y6>0),MIN(Y6*3600/$AE$11,AB5),0)),0)

必須根據此方程在Excel中的運算方式進行分析。 該公式是否沿着同一列的行復制? 這個公式來自哪個單元格?

假設這是從單元格J6中獲取的,然后遍歷我得到的行:

AE11 = 100; %this is the constant from cell AE11

for i= 2:length(F)
    if F(i) > 273.16
      if  AB(i) > 0 & Y(i) >0;
        J(i) = min( Y(i)*3600/ AE11 ,AB(i-1));
      else
        J(i) = 0;
      end
    else
      J(i) = 0;
    end
end

即使似乎引用了另一行(AE5,當所有內容都與第6行有關時),也可以使用矢量化版本進行改進。

=IF(M5>$AD$17,$AD$5+$AD$8,IF(N5>0,$AD$5+(O4-$AD$5)*EXP((IF(F5>273.16,$AD$11,$AD$14))*0.04167),0))

excel方程如何轉換為matlab? 我還不清楚如何處理最終的嵌套If語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM