24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1264  |  回复: 5

lz2239129

铁虫 (初入文坛)

[求助] 运行函数文件出错,Input argument "y" is undefined.

function F=fu_pin3(x,y)
%%options=optimset('Display','iter');[x,fval] = fsolve(@fu_pin1,x0,options)
    sigma1=0.03;
    omega1=3.8545;
    omega2=12.491;
    Gamma2=250.2553;Gamma3=310.17;Gamma4=270.794669;
    M1=-85713.468;M2=-85710.67;
    alpha1=-1027.166;alpha2=-4421.8;alpha3=-4415.828;alpha4=-13657.89;eta=1000;
    sigma2=0.01;
    F=[sigma2*(24*omega2*y)-(8*omega2*y*sigma1+sqrt((Gamma4*x^3)^2-(4*M2*omega2*y^2)-y*(alpha2*x^2+alpha4*y^2)));
     sigma2*(8*omega1*x^4*Gamma4-24*omega2*x^2*y^2*(2*Gamma2+Gamma3))-(sqrt((4*eta*Gamma4*x^3)^2-(4*M1*omega1*x^4+M2*omega2*x^2*y^2*(2*Gamma2+Gamma3))^2)+x^2*y*(2*Gamma2+Gamma3)*(-8*omega2*y*sigma1+y*(alpha2*x^2+alpha4*y^2)-Gamma4*x^4*(alpha1*x^2+alpha3*y^2)))];                     

在主页面运行之后出现错误
[x,y,fval] = fsolve(@fu_pin3,x0,options)
??? Input argument "y" is undefined.

Error in ==> fu_pin3 at 10
    F=[sigma2*(24*omega2*y)-(8*omega2*y*sigma1+sqrt((Gamma4*x^3)^2-(4*M2*omega2*y^2)-y*(alpha2*x^2+alpha4*y^2)));

Error in ==> fsolve at 248
            fuser = feval(funfcn{3},x,varargin{:});

Caused by:
    Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.


请问这是怎么回事,在函数文件中y已经有了呀,要改应该怎么改
回复此楼
苦逼青椒
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lz2239129

铁虫 (初入文坛)

没有人会嘛??求助啊。。。555555555
苦逼青椒
2楼2014-05-22 16:31:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

skyjacking

铁虫 (初入文坛)

整个语句中都没有定义y,在你最后的F=[]之前,一直不存在y,你要么定义y为一个输入变量,要么像x一样定义y为另一参数的函数。而且你的错误不只这一个,介意你把函数打散,逐句检测修改。
3楼2014-05-23 08:16:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pdl9527

专家顾问 (小有名气)

最好把整个M文件传给大家看看~
4楼2014-05-25 10:32:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lz2239129

铁虫 (初入文坛)

引用回帖:
3楼: Originally posted by skyjacking at 2014-05-23 08:16:41
整个语句中都没有定义y,在你最后的F=[]之前,一直不存在y,你要么定义y为一个输入变量,要么像x一样定义y为另一参数的函数。而且你的错误不只这一个,介意你把函数打散,逐句检测修改。

“像x一样定义y为另一参数的函数”是什么意思?我看的不是很懂诶
我想把xy表示称未知数应该怎么改?
还有除了前面的数值之外就剩一个方程组了。还有哪里有问题呢
苦逼青椒
5楼2014-05-26 20:28:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

skyjacking

铁虫 (初入文坛)

引用回帖:
5楼: Originally posted by lz2239129 at 2014-05-26 20:28:50
“像x一样定义y为另一参数的函数”是什么意思?我看的不是很懂诶
我想把xy表示称未知数应该怎么改?
还有除了前面的数值之外就剩一个方程组了。还有哪里有问题呢...

错误提示里含有3个错误,不过这3个错误是不是连锁的,没做过研究。至于怎么定义y,比如y=0(n),定义y为一个常数;y=kx+┄┄,定义y为x的函数,当然也可以为另外参数的函数;input y,定义y为任一你自定义输入值。总而言之,y不能使凭空出现在F[]中。
6楼2014-05-28 14:40:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lz2239129 的主题更新
信息提示
请填处理意见