【问题标题】:MATLAB Error using fzero使用 fzero 的 MATLAB 错误
【发布时间】:2018-01-10 23:13:30
【问题描述】:
y = @(Er) i*sqrt((((w^2*Mr*(Er))/isik_hizi^2)-(2*pi/lamdac)^2));
y0 = i* sqrt((w/isik_hizi)^2-(2*pi/lamdac)^2);
yansima = @(Er) ((y0/m0)-(y(Er)/m))/((y0/m0)+(y(Er)/m));
T = @(Er) exp(-y(Er)*l);
fx = @(Er) (s11*s22-s21*s12-(exp(-2*y0)*(la-l))*((T(Er)^2)-(yansima(Er)^2))/(1-(yansima(Er)^2*T(Er)^2)))
cozum = fzero(@(Er) fx(Er),5.72+7.21*i)

s11,s12,s21,s22等参数复杂。 函数是fxfxErEr 是符号。第一个 Er5.72+7.21i 。我正在寻找接近第一个 Er 的新价值。但我有问题;

使用 fzero 时出错(第 307 行)开始猜测时的函数值必须为 有限和实数。

s0308 中的错误(第 76 行)cozum = fzero(@(Er) fx(Er),5.72+7.21*i)

【问题讨论】:

  • 尝试使用fsolve

标签: matlab function iteration


【解决方案1】:

快速搜索fzero 的文档,告诉您只能使用实数作为初始猜测输入参数,因此 fzero 不会像您的情况一样适用于复数。

【讨论】:

    猜你喜欢
    • 2023-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多