4个回答
展开全部
高等数学的解法:
令z=3*x.^2+2*x.*y+y.^2;
solve('diff(z,x)=0,diff(z,y)=0')就可以求出x,y的值
如果看不到结果的话就用disp(ans.x)和disp(ans.y).这个和你用的matlab的版本的数据结构有关。然后将x,y代入就可以了。我求出的是当
x=0
y=0
时,最小值也为0.
令z=3*x.^2+2*x.*y+y.^2;
solve('diff(z,x)=0,diff(z,y)=0')就可以求出x,y的值
如果看不到结果的话就用disp(ans.x)和disp(ans.y).这个和你用的matlab的版本的数据结构有关。然后将x,y代入就可以了。我求出的是当
x=0
y=0
时,最小值也为0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
他是matlab 7的。
你如果用低版本的话,不妨:
f=inline('3*x(1)^2+2*x(1)*x(2)+x(2)^2');
x=fminsearch(f,[1,1])
我这里得到的是:
x =
1.0e-004 *
-0.0675 0.1715
你如果用低版本的话,不妨:
f=inline('3*x(1)^2+2*x(1)*x(2)+x(2)^2');
x=fminsearch(f,[1,1])
我这里得到的是:
x =
1.0e-004 *
-0.0675 0.1715
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x=fminsearch(@(x)x'*[3 1;1 1]*x,[1;1])
真的不行吗?那这样行不行
x=fminsearch(@(x)3*x(1)^2+2*x(1)*x(2)+x(2)^2,[1;1])
上面两个程序运行结果一样,都是
x =
1.0e-004 *
-0.0675
0.1715
inline好像比@出现的更晚,@都不行估计inline也行不了,楼主到底用的是哪个版本的?6.5以上应该都能用啊
真的不行吗?那这样行不行
x=fminsearch(@(x)3*x(1)^2+2*x(1)*x(2)+x(2)^2,[1;1])
上面两个程序运行结果一样,都是
x =
1.0e-004 *
-0.0675
0.1715
inline好像比@出现的更晚,@都不行估计inline也行不了,楼主到底用的是哪个版本的?6.5以上应该都能用啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询