1
在MATLAB中,我試圖構建一個循環,在每次迭代中調用具有不同初始條件的dsolve。要做到這一點,我建這個循環:MATLAB:如何在dsolve的初始條件中使用循環變量?
y0 = -2:0.5:2;
y1 = -2:2:2;
syms y(t)
for i = y1
for k = y0
y(t) = dsolve(diff(y,2) + diff(y) - 2*y == t^2 - 4*t + 3,...
['y(0) == ',num2str(k)],['Dy(0) == ',num2str(i)])
end
end
它是通過第一次迭代,但它失敗了,第二個與此錯誤:
Error using mupadengine/feval (line 157)
MuPAD error: Error: Invalid equation or initial condition. [ode::splitSys]
Error in dsolve>mupadDsolve (line 325)
T = feval(symengine,'symobj::dsolve',sys,x,options);
Error in dsolve (line 186)
sol = mupadDsolve(args, options);
Error in MWE (line 9)
y(t) = dsolve(diff(y,2) + diff(y) - 2*y == t^2 - 4*t + 3,...
外循環的命令適用於所有的我嘗試過的初始條件。在循環內部,第一次迭代起作用,下一次總是失敗。我選擇的似乎並不重要。
發生了什麼事?
我一直長天,我開始想念真的很明顯的東西。感謝您指出我不適當的使用! –