簡體   English   中英

如何使用MATLAB中的循環求解一系列方程式?

[英]How to solve a series of equations using a loop in MATLAB?

我正在嘗試求解以下一系列方程式,並為每個方程式存儲正解

這是我使用的代碼:

s=zeros(1,100);

for i=1:100
   syms l0 positive
   eqn(i)= .0017777*(l0^.25)/(.05-l0) == i;
   s(i)=solve(eqn(i),l0);
end

但是最后我得到以下錯誤:

從sym轉換為double時發生以下錯誤:無法將表達式轉換為double數組。

誰能幫我解決這個問題?

由於方程中的1/4冪,因此存在復雜的解決方案。

您只需要真正的解決方案,因此請指定...

solve(eqn(i),l0,'Real',true);

這將為您提供所需的結果。

請注意,由於您將s初始化為double的數組而不是符號數組,因此MATLAB會自動執行從solve的符號輸出到double的轉換。 您在這里失去了精度,但可以像使用其他任何雙精度數組一樣使用答案。

暫無
暫無

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

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