find the maximum value of a function

It's given that y(x) = log(14*x+30) on [a b]
how can I find the maximum value of diff(y,2) for every a and b which is satisfied 14*x + 30 > 0 ?

2 comentarios

John D'Errico
John D'Errico el 19 de Nov. de 2018
What have you tried? If nothing, why not, on what is surely homework? If you want help, then make an effort. Show what you have tried. Then explain wht went wrong, and where you think you need to go next.
Ken Le
Ken Le el 19 de Nov. de 2018
My homework is to approximate an integer by dividing it into smaller sum, but the equation itself need the maximum value of the absolute of the second differental of the function itself. I tried to find the maximum value by calculating the smaller piece but the dimension is still too big. Sorry for the grammar.

Iniciar sesión para comentar.

 Respuesta aceptada

Dimitris Kalogiros
Dimitris Kalogiros el 19 de Nov. de 2018
Hi Ken
Use the following script in order to analyse your function:
clearvars; clc; close all;
syms x
% definition of the function
assume(x>-14/30)
y(x)=log(14*x+30)
% calculating 2nd derivative
y2(x)=diff(y,2)
% plot second derivative
fplot(y2, [-13/30 10]); grid on; zoom on;
You will get the formula and the graph of the 2nd derivative of your function:
We get that diff(y,2) is an monotonically ascending function. So its maximum value is always at x=b (and its minimum at x=a)

Más respuestas (3)

Torsten
Torsten el 19 de Nov. de 2018

3 votos

The maximum value for diff(y,2) is attained in x=b with value -(14/(14*b+30))^2.

2 comentarios

Ken Le
Ken Le el 19 de Nov. de 2018
The only reason why we know it's x=b because diff(y,2) alway negative . So what can I do more if the mark of it is unknown ?
Torsten
Torsten el 19 de Nov. de 2018
Editada: Torsten el 19 de Nov. de 2018
This answers your question. If you want something else, please ask what you really want to know.

Iniciar sesión para comentar.

Matt J
Matt J el 19 de Nov. de 2018
Editada: Matt J el 19 de Nov. de 2018

2 votos

You can use fminbnd as applied to .

1 comentario

Ken Le
Ken Le el 19 de Nov. de 2018
Editada: Ken Le el 19 de Nov. de 2018
I'm gonna take a look at this, Thanks.

Iniciar sesión para comentar.

Andrew Robertson
Andrew Robertson el 29 de Oct. de 2019
Editada: Andrew Robertson el 29 de Oct. de 2019

0 votos

Discraceful are all the answers!, he may have not been specific in the details of his question, and no one answered, or even came close to the proper answer!.
I believe he is having the same issue i am, I have a complex sum, and when I do "result = max(MyFunction)",
the answer i get is the function with the inputs into it to give the maximum result!, what the f%^k! who wrote this s@#T!?
I wanted the maximum result as a number, not a function, if i had asked for the result of a function, I would have looked for a code call to do so!.
So my problem, the same as the origianl ask, is, how do i get a number of a max call, not the garbage I am getting now?
And a 2nd question, the figure matlab found to put into the function to get the max(and minimum) how do i extract that?
Andrew
P.S. I feel greatly elated to know I got a badge for this comment!

3 comentarios

Andrew Robertson
Andrew Robertson el 29 de Oct. de 2019
As I found an answer to this, I will provide it!
if a max(something) is returning not a number, but a function or something similar, like "sin(34) + 56" then you do this:-
MyResult = eval(max(something));
BUT BE WARNED, eval in the programing world is dangerous, because it takes whatever is in "something" and attempts to run it!, even if it is crash/malious script.
This will get you the actual number your looking for!.
Next part, how to extract the "34" out of the calculated result, that, is done through string manipulation, i.e. solit the string at the "(" like as follows, "split(something, '(')" and you will get the array, leave the semi-colan ";" of the end and matlab will print the array, make sure you have the correct array position to do the next split on the ")" like as follows "split(MyChars[2], ')')"
Easy eh!?, not exactly, what is returned may not be a string to start with, and it might have to be converted via the use of char(something),
Matt J
Matt J el 29 de Oct. de 2019
Editada: Matt J el 29 de Oct. de 2019
he may have not been specific in the details of his question, and no one answered, or even came close to the proper answer!.
If not, then why did you suppose he Accept-clicked the answer provided by Dimitris?
Andrew Robertson
Andrew Robertson el 29 de Oct. de 2019
Editada: Andrew Robertson el 29 de Oct. de 2019
I suppose he clicked accept to an answer, as, he not knowing much about matlab thought (likely incorrectly) he had got the best and correct answer!.
He asked for a maximum value!, a number, and he now has the tools to get it,
I did not answer his 2nd part, being to satisfy an equation, but that is the easy part, just start x at x > -30/14 or start x at -30/14 + 0.00001 that is, according to his equation!

Iniciar sesión para comentar.

Categorías

Productos

Versión

R2015a

Etiquetas

Preguntada:

el 19 de Nov. de 2018

Editada:

el 29 de Oct. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by