请问matlab中fsolve函数怎么用的

请举个例之,比如求y=x^2+y^2的零点,用fsolve函数怎么求?越短越好... 请举个例之,比如求y=x^2+y^2的零点,用fsolve函数怎么求?越短越好 展开
 我来答
登峰数学资源
推荐于2018-09-20 · 知道合伙人教育行家
登峰数学资源
知道合伙人教育行家
采纳数:180 获赞数:4271
本科学科,执教数学多年成绩显著,网络教研5年,长期活跃在多个数学群。

向TA提问 私信TA
展开全部
x=fsolve(fun,x0)求解fun(x)=0的解,x0是初值,fun是函数,x就是解
因为fsolve使用迭代法求解方程的,所以总要有个迭代的初值吧,这个初值就是你给的x0。
比如解方程组
x(1).^2+x(2).^2=1
x(1)=2*x(2)
可以写成
f=@(x)([x(1).^2+x(2).^2-1;x(1)-2*x(2)])
x=fsolve(f,[1 1])
这里[1 1]就是初值,其实初值一般情况下可以随便给的。
匿名用户
推荐于2017-10-08
展开全部

把x、y用x(1)、x(2)表示,指定初值求解即可:

>> fsolve(@(x)x(1)^2+x(2)^2,[1 1])
Warning: Trust-region-dogleg algorithm of FSOLVE cannot handle non-square systems;
using Levenberg-Marquardt algorithm instead. 
> In fsolve at 319
Optimization terminated: the first-order optimality measure is less than 1e-4 times options.TolFun.
ans =
  1.0e-003 *
    0.2447    0.2447

其中,警告可以无视。

追问
那个为什么用x,y代替x(1)和x(2)就不行呢,这是什么用法??
追答
这是fsolve对所求解方程的要求,它只对第一个输入参数进行优化,如果是多个变量,就需要把变量写成向量的形式。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吓栋栋
2014-06-21 · TA获得超过2831个赞
知道小有建树答主
回答量:386
采纳率:100%
帮助的人:178万
展开全部
x = fsolve('2*x^2+7*x+5',0)
最简单的一个用法,前面是表达式,后面是初始搜索值,这个函数是从初始搜索点开始搜索,找到一个满足条件的就停止,因此只能找到一个解。改变初始搜索点,就可以找到不同的解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式