【问题标题】:Iterative use of fsolvefsolve的迭代使用
【发布时间】:2013-07-11 22:55:53
【问题描述】:

我必须计算 F(x,k)=0 函数 200 次。 每次使用不同的 k 参数值。 F是非线性函数,所以我尝试使用fsolve。

我无法将 k 参数值传递给用于 fsolve 调用的匿名函数。

我使用的代码如下:

[x,fval,exitflag,output,jacobian] = fsolve(@(x)nucom,x0,options)

其中 ''nucom'' 是必须为零的函数 F。

我如何传递k? 使用@(x,k) 语法会产生一些错误。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    假设 nucom 将 k 作为参数,您的语法应该类似于:

    xsolved=zeros(1,200);
    for k=1:200
        [x,fval,exitflag,output,jacobian]=fsolve(@(x)nucom(x,k),x0,options);
        xsolved(k)=x;
    end
    

    【讨论】:

    • 无法执行分配,因为左侧和右侧的元素数量不同。如果我的函数文件有 k^(0.6) 怎么办?
    【解决方案2】:

    我想你想要@(x) nucom(x,k)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多