clear all
close all
clc
f1=zeros(1,100);
f2=zeros(1,100);
f3=zeros(1,200);
c1=randi([1,20],1,100);
c2=randi([1,20],1,100);
y(1,1:200)=rand(1,200);
f1(1,1:100)=[y(1,1:100).*c1];
f2(1,1:100)=[y(1,101:200).*c2];
f3(1,1:200)=horzcat(f1,f2);
g1=zeros(1,100);
g2=zeros(1,100);
g1=gradient(f1,y(1:100));
g2=gradient(f2,y(101:200));
g=horzcat(g1,g2);
my question is whether g1 and g2 are sub-gradients of f1 and f2 respectively in the above code

4 comentarios

Walter Roberson
Walter Roberson el 22 de Dic. de 2018
What is a "sub-gradient" for this purpose?
Note: what you have is not exactly equivalent of
g = graient(f3, y(1:200))
There would be a difference due to boundary conditions. Compare
gradient([1 3 6 10 15])
to
[gradient([1 3 6]), gradient([10 15])]
Siva
Siva el 24 de Dic. de 2018
i required the sub gradients to apply decomposition. without using 'g=horzcat (g1,g2)'. can i write the primal decomposition by using 'g1' and 'g2'.
Walter Roberson
Walter Roberson el 24 de Dic. de 2018
What is a "sub gradient" ?
Siva
Siva el 25 de Dic. de 2018
sub gradient method as used in lagrangian decomposition and lagrangian relaxation algorithms

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 25 de Dic. de 2018

0 votos

my question is whether g1 and g2 are sub-gradients of f1 and f2 respectively in the above code
No. Lagrangian sub-gradient methods apply to functions, but you do not have functions.
gradient() applied to numeric matrices is numeric differences, and the second and following arguments give the step sizes.

Más respuestas (0)

Categorías

Más información sobre Mathematics and Optimization en Centro de ayuda y File Exchange.

Productos

Versión

R2015b

Etiquetas

Preguntada:

el 22 de Dic. de 2018

Respondida:

el 25 de Dic. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by