[英]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.