我想在for循环的每一步对MATLAB函数稍作修改.我的功能太复杂,无法匿名编写.有没有办法在每一步更改m文件功能?
附加信息:我的函数是一个包含8个输入和无限多个解的方程.我想要设置7个输入,然后使用fsolve找到第8个.在for循环中改变这些7个固定输入中的一些,以便我可以创建该等式的解的图.
让我们举两个输入的例子,你想要改变一个输入.既然你声称你的函数真的很复杂,那么让我们将它写入一个名为的文件complicated.m,我们将其保存在Matlab路径中.
function out = complicated(v1,v2,x)
out = v1*x-v2*x.^2;
Run Code Online (Sandbox Code Playgroud)
假设我们想要在循环中的每次迭代中进行更改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
Run Code Online (Sandbox Code Playgroud)