简体   繁体   English

使用fzero的MATLAB错误

[英]MATLAB Error using fzero

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 and other parameters complex. s11,s12,s21,s22等参数复杂。 Function is fx . 函数是fx fx have Er . fxEr Er is symbol. Er是符号。 First Er value 5.72+7.21i . 第一Er值为5.72+7.21i I am looking for new value close to the first Er. 我正在寻找接近第一个Er的新值。 But I have problem; 但是我有问题。

Error using fzero (line 307) Function value at starting guess must be finite and real. 使用fzero的错误(第307行)开始猜测时的函数值必须是有限且实数。

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

快速搜索fzero文档,会发现您只能将实数用作初始猜测输入参数,因此fzero不适用于您所遇到的复杂数字。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM