How can i do optimization in matlab?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I have an equation given below
y = x- at
'x' and 't' are known value. I also have field value 'z'that is known.
I want to find the value of 'a' in the equation such that error between obtained 'y' and field value 'z' is minimum.
How can i do this in matlab? I am not sure of which optimization technique in matlab can be used.
Thanks, Menaka
6 comentarios
Respuestas (2)
José-Luis
el 14 de Feb. de 2013
Editada: José-Luis
el 14 de Feb. de 2013
Are you sure you asked the right question? If so, what you are asking is:
y-x = at; %Find a and t
Since y and x are known, this can be written as
some_value = at;
This has an infinite number of solutions, or none at all if a or t are equal to zero and some_value is not. Just pick whatever value for a and calculate t. Or vice-versa.
If what you mean was a linear regression then:
coeff = polyfit(x,y,1);
Alan Weiss
el 14 de Feb. de 2013
Let me try to guess what you are doing. You have a bunch of input data you call x, and a bunch of output data you call z. There is a scalar 'a' and another piece of input data t so that, approximately, for each index i,
z(i) = x(i) - a*t(i)
You want to find the value of 'a' that makes this equation as true as possible, such as minimizing the sum of the squared differences.
If I am correct, write your equation as
a*t = z - x,
where t, z, and x are column vectors. The solution is
a = (z-x)\t
Alan Weiss
MATLAB mathematical toolbox documentation
Ver también
Categorías
Más información sobre Surrogate Optimization en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!