[問題] fsolve解聯立方程變數問題已回收
我先解一個簡單的問題,問題如下
f(x,y) = x^2 + y^2 + 4*x
df(x,y)/dx = 2*x+4 = 0
df(x,y)/dy = 2*y = 0
解聯立得到x = -2, y = 0;
方法一:不是我想使用的方式
----------------------------------
function test
clc
x0=[1;1];
fsolve(@eq,x0)
function f = eq(x)
f = zeros(2,1);
f(1) = 2*x(1)+4;
f(2) = 2*x(2);
----------------------------------
方法二:我想使用的方式,方程式使用diff,但是有問題
----------------------------------
function test
clc
x0=[1;1];
fsolve(@eq,x0)
function f = eq(x) %初始值不知如何帶入x和y
f = zeros(2,1);
syms x y;
equation = x^2 + y^2 + 4*x;
dx = diff(equation,x);
dy = diff(equation,y);
f(1) = dx; %這裡使用變數x
f(2) = dy; %這裡使用變數y
----------------------------------
如果使用subs把x(1)變成x,x(2)變成y會產生錯誤
有辦法一起使用diff和fsolve嗎 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.207.32
※ 編輯: maplefog 來自: 140.118.207.32 (09/01 20:10)
※ 編輯: maplefog 來自: 140.118.207.32 (09/01 20:15)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章