Element-By-Element Operations using Matlab

3 views (last 30 days)
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

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 25 Nov 2013
Edited: Andrei Bobrov on 25 Nov 2013
u*min(0,A*x-b).^2;
  3 Comments
imed NASRI
imed NASRI on 25 Nov 2013
Edited: imed NASRI on 25 Nov 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

Sign in to comment.

More Answers (1)

Biswajit M
Biswajit M on 25 Nov 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 Comment
imed NASRI
imed NASRI on 25 Nov 2013
Edited: imed NASRI on 25 Nov 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??!!!

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!