找回密码
 注册
Simdroid-非首页
查看: 168|回复: 2

带参数的多元函数方程组的fsolve表达问题

[复制链接]
发表于 2008-1-16 13:31:20 | 显示全部楼层 |阅读模式 来自 美国
比如想求二元方程组的根:
function ff=fun2(Ec,Ez,Er,b)
ff(1)=Ec+Ez+Er+2*b;
ff(2)=2*Ec+0.5*Ez+3*Er-2*b;
end
然后:
Ec=0.4; b=0.8;
[x2,y2]=fsolve(@(Ez,Er) fun2(Ec,Ez,Er,b(2)),[-0.4,-0.3])
结果说: Input argument "Er" is undefined. 要是一元方程,上面可以写成:
[x,y]=fsolve(@(x) fun(x,c), 0.5);
难道多元方程组里不能像上面那样写?
发表于 2008-1-16 14:17:35 | 显示全部楼层 来自 新疆乌鲁木齐
Simdroid开发平台
请不要想当然写程序,如果命令要求中没有此格式,错误再正常不过。
精华区中有关于优化、微分方程和普通非线性方程中参数如何传递的帖子,搜索关键词“参数传递”,建议看完再求解问题。
回复 不支持

使用道具 举报

 楼主| 发表于 2008-1-16 14:44:29 | 显示全部楼层 来自 美国
多谢。
这里应该是那个@后面的括号出问题:[x2,y2]=fsolve(@(Ez,Er) fun2(Ec,Ez,Er,b(2)),[-0.4,-0.3])
可能对于一元函数可以@(x),但是对于二元函数也应写成@(x),不过这里的x是指(x(1),x(2)).
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-28 07:26 , Processed in 0.037648 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表