3
我想在for循環中的每個步驟對MATLAB函數進行一些細微更改。我的功能太複雜,無法匿名編寫。有沒有辦法在每一步更改m文件功能?更改循環中的Matlab函數
附加信息: 我的功能是一個有8個輸入和無限多個解決方案的方程。我想要設置7個輸入,然後用fsolve找到第8個。在for循環中改變這些7個固定輸入中的一些,以便我可以創建這個方程的解的圖形。
我想在for循環中的每個步驟對MATLAB函數進行一些細微更改。我的功能太複雜,無法匿名編寫。有沒有辦法在每一步更改m文件功能?更改循環中的Matlab函數
附加信息: 我的功能是一個有8個輸入和無限多個解決方案的方程。我想要設置7個輸入,然後用fsolve找到第8個。在for循環中改變這些7個固定輸入中的一些,以便我可以創建這個方程的解的圖形。
讓我們用兩個輸入作爲例子,其中您想要更改一個輸入。既然你聲稱你的函數真的很複雜,我們把它寫入一個名爲complicated.m
的文件中,我們將其保存在Matlab路徑中。
function out = complicated(v1,v2,x)
out = v1*x-v2*x.^2;
說,我們要改變v1
和v2
在循環每次迭代,找到多項式的根,並繪製它
figure,hold on
for v1 = 1:5
for v2 = 1:5
%# define the function
myFun = @(x)complicated(v1,v2,x);
%# find the roots
fzero(myFun,1)
%# plot the function
plot(-5:0.1:5,myFun(-5:0.1:5))
end
end
你能提供有關改變你的類型的任何詳細d喜歡做什麼? – 2010-09-09 01:14:12
你不需要爲這類問題使用匿名函數!只使用一個包裝函數來設置你的8輸入函數 – Mikhail 2010-09-09 12:17:15