Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我想在for循环的每个步骤中对MATLAB函数进行一点更改。我的函数太复杂了,无法以匿名方式编写。有什么方法可以在每个步骤中更改m文件功能吗?
附加信息:我的函数是一个具有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 更多&回答... |
![]() |
![]() |