maximum value of a function

Hi, I am trying to find the maximum value of 'Pa' in this code with respect to 'a' while others are known. I wrote a following program. where I am wrong. As I am new to matlab, please help me.
clear all
clc
syms a
K=((1+(kh/(1-kv)))/(cos(d)+sin(d)*tan(a-p)))*((1/tan(a))+nq*(lf-l));
Pa=0.5*g*(1-kv)*K*H^2;
solve(diff(Pa)==0,a)

6 个评论

Why use syms ? define all the values and get them and use max.
like this? then it shows :Undefined function or variable 'a'.
clear all
clc
kh=0.1;
kv=0;
d=26*(pi/180);
p=39*(pi/180);
lf=0.2;
l=0.1;
nq=1.35;
g=18.4;
H=4;
kagq=((1+(kh/(1-kv)))/(cos(d)+sin(d)*tan(a-p)))*((1/tan(a))+nq*(lf-l));
Pa=0.5*g*(1-kv)*kagq*H*H;
max(Pa,a)
What are the possibles values of a?
But I want also an expression for a.
The maximum value of Pa is inf when a is zero. Perhaps?

请先登录,再进行评论。

回答(1 个)

Hi,
clear
clc
syms a;
kh=0.1;
kv=0;
d=26*(pi/180);
p=39*(pi/180);
lf=0.2;
l=0.1;
nq=1.35;
g=18.4;
H=4;
kagq=((1+(kh/(1-kv)))/(cos(d)+sin(d)*tan(a-p)))*((1/tan(a))+nq*(lf-l));
Pa=0.5*g*(1-kv)*kagq*H*H;
possition = vpasolve(diff(Pa)==0,a); % a value for maxima
I think this should solve it.
Regards

1 个评论

The calculus approach is true but the result is not within the bounds 0 to 1.5 even if the range is specified in vpasolve() empty sol will be returned , meaning maxima does not exist in the given range.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by