請幫助。我想我錯過了一些東西,因爲fsolve太耗時間了。我想解決非線性系統,我有以下形式的系統:使用fsolve解決非線性系統
A = [x+y*3+10;
x-z*6-15;
x^2+y+z-16]
要使用fsolve我需要創建和替換功能與V(I)的每個變量,像:
function z=evaltub(v)
z(1) = v(1)+v(2)*3+10;
z(2) = v(1)-v(3)+6-15;
z(3) = v(1)^2+v(2)+v(3)-16;
,然後使用
x = fsolve(@evaltub,[1 1 1])
的問題是,對於大型系統替換用v(i)每可變需要花費大量的時間。 還有另一種使用fsolve的方法嗎?
fsolve找到了答案,我的問題是,我需要修改公式與fsolve使用它們,它需要太多的時間,當系統大
我嘗試使用命令解決,但是當有有10多個方程式,它沒有得到答案。我得到的消息:
Warning: Explicit solution could not be found
這個問題似乎是兩個獨立的問題。你應該選擇一個。 「我嘗試使用命令solve,但是當有10多個方程式時,它無法得到答案」 - 這對我們沒有幫助,因爲你沒有提供這種情況下的代碼。返回的是什麼?錯誤消息?什麼是exitflag輸出(參見文檔)等於?你確定這個系統真的有根嗎?你有沒有調整fsolve的許多選項?怎麼樣? – horchler
對不起。當我使用解決方案時,我得到'警告:明確的解決方案無法找到'的消息我猜是因爲系統太大而無法在沒有初步猜測的情況下解決?我沒有調整fsolve上的任何選項,它的工作原理是正確的,但修改方程式以使用fsolve需要很長時間 – user3199900