Element-By-Element Operations using Matlab

9 visualizaciones (últimos 30 días)
imed NASRI
imed NASRI el 25 de Nov. de 2013
Editada: imed NASRI el 25 de Nov. de 2013
I wonder how to calculate the following sum using Element-By-Element Operations Matlab:
∑_(i=1)^4(u_i.[min(0,A_i.x-b_i )]^2)
i=1:4
u_i is a scalar
A_i is a (1,4) vector
b_i is a scalar
and
x is a (4,1) vector

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 25 de Nov. de 2013
Editada: Andrei Bobrov el 25 de Nov. de 2013
u*min(0,A*x-b).^2;
  3 comentarios
imed NASRI
imed NASRI el 25 de Nov. de 2013
Editada: imed NASRI el 25 de Nov. de 2013
I want to calculate automatically this sum:
u(1)*[min(0,A(1,:)*x-b(1))]^2+u(2)*[min(0,A(2,:)*x-b(2))]^2+u(3)*[min(0,A(3,:)*x-b(3))]^2+u(4)*[min(0,A(4,:)*x-b(4))]^2
Andrei Bobrov
Andrei Bobrov el 25 de Nov. de 2013
I corrected

Iniciar sesión para comentar.

Más respuestas (1)

Biswajit M
Biswajit M el 25 de Nov. de 2013
hope this helps:
u(1)*(min(0,min(A(1,:)))*x-b(1)) .^2+u(2)*(min(0,min(A(2,:)))*x-b(2)) .^2+u(3)*(min(0,min(A(3,:)))*x-b(3)) .^2+u(4)*(min(0,min(A(4,:)))*x-b(4)) .^2
I tried it this way :
clear all; clc
u=[1,2,3,4]; A=[1,2,3,4;5,6,7,8;1,2,3,4;5,6,7,8]; x=[5;6;7;8]; b=[4;5;6;7]; min(0,min(A(1,:)))
u(1)*(min(0,min(A(1,:)))*x-b(1)) .^2+u(2)*(min(0,min(A(2,:)))*x-b(2)) .^2+u(3)*(min(0,min(A(3,:)))*x-b(3)) .^2+u(4)*(min(0,min(A(4,:)))*x-b(4)) .^2
The output comes like:
ans =
370
370
370
370
  1 comentario
imed NASRI
imed NASRI el 25 de Nov. de 2013
Editada: imed NASRI el 25 de Nov. de 2013
My vectors have sometimes a size (1000). In this case your équation becomes so hard to write. I Wonder if i can use a loop to calculate automatically this sum??!!!

Iniciar sesión para comentar.

Categorías

Más información sobre Multidimensional Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by