matlab的字符运算的问题。

由于所求函数f的表达式里含有很多字符常量sr se pr k theta pe w,只有pr和sr是未知的,现在求f最大值时的pr和sr。我觉得手算比较麻烦,而且容易出错,所以想借用matlab的字符运算功能,但是下面的代码运行出的结果是
>> lianxi
y1 =
- sr - ((k - theta)/theta + 1)*(w - (pe - se - k*sr + sr*theta + k*se*theta)/theta) - ((k - theta)*(sr - (pe - se - k*sr + sr*theta + k*se*theta)/theta + k*se + 1))/theta
Warning: Explicit solution could not be found.
> In solve at 169
In lianxi at 6
y1_sr =
[ empty sym ]
我的代码:
syms sr se pr k theta pe w;
pr=(theta*sr-k*sr-se+k*theta*se+pe)/theta;
qr=1+sr+k*se-pr;
f=(pr-w)*qr-sr^2/2;
f
y1=diff(f,sr)
y1_sr=solve('y1=0','sr')
我的问题:1我代码的错误在哪儿呢?2听人说含有字符函数求解里用matlab不太方便,还想问问各位求解这类的问题用matlab合适吗?

 Accepted Answer

cemofo
cemofo on 17 Nov 2022

0 votes

syms sr se pr k theta pe w;
pr=(theta*sr-k*sr-se+k*theta*se+pe)/theta;
qr=1+sr+k*se-pr;
f=(pr-w)*qr-sr^2/2;
f
y1=diff(f,sr)
y1_sr=solve(y1==0,sr)

More Answers (0)

Categories

Find more on 编程 in Help Center and File Exchange

Tags

Asked:

on 17 Nov 2022

Answered:

on 17 Nov 2022

Community Treasure Hunt

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

Start Hunting!