Find the minimum of a multi-variable function

조회 수: 25 (최근 30일)
emonhossain roy
emonhossain roy 2019년 6월 23일
편집: infinity 2019년 6월 23일
Question: Find the minimum of in the window [0,2]×[2,4] with increment 0.01 for x and y.
My approach:
syms fun(x,y) fx(x,y) fy(x,y) fxy(x,y) x y
=;
;
;
;
pt=solve([==0,==0],[x y]) But it gives me an error.
besides what about the window and increment mentioned that question. Any solution will be appreciated .
Thanks in advance .
  댓글 수: 2
infinity
infinity 2019년 6월 23일
Hello,
Could you provide your code and show us what is the error?
emonhossain roy
emonhossain roy 2019년 6월 23일
code:
clc
clear all
syms fun(x,y) fx(x,y) fy(x,y) fxy(x,y) x y
fun(x,y)=x^2+y^2-2*x-6*y+14;
fx(x,y)=diff(fun(x,y),x);
fy(x,y)=diff(fun(x,y),y);
fxy(x,y)=diff(fx(x,y),y);
pt=solve([fx(x,y)==0,fy(x,y)==0],[x y])
error:
Warning: 4 equations in 2 variables.
> In C:\Program Files\MATLAB\R2013a\toolbox\symbolic\symbolic\symengine.p>symengine at 56
In mupadengine.mupadengine>mupadengine.evalin at 97
In mupadengine.mupadengine>mupadengine.feval at 150
In solve at 170
Warning: Explicit solution could not be found.
> In solve at 179
pt =
[ empty sym ]

댓글을 달려면 로그인하십시오.

채택된 답변

infinity
infinity 2019년 6월 23일
편집: infinity 2019년 6월 23일
Hello,
In your code, it was not good to put the name like "fun(x,y)". Also, we do not need to declare "fx, fun, fy,.." as symbolic variable. Here is a small code that you can refer
clear
syms x y
fun=x^2+y^2-2*x-6*y+14;
fx=diff(fun,x);
fy=diff(fun,y);
pt=solve([fx==0,fy==0],[x y]);
% pt=solve(fx==0,fy==0);
sol = struct2array(pt)
It will give us the solution
sol =
[ 1, 3]
I have run this code on Matlab2018a. Maybe in your Matlab version, there will be some different.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by