Element-By-Element Operations using Matlab

11 Ansichten (letzte 30 Tage)
imed NASRI
imed NASRI am 25 Nov. 2013
Bearbeitet: imed NASRI am 25 Nov. 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

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 25 Nov. 2013
Bearbeitet: Andrei Bobrov am 25 Nov. 2013
u*min(0,A*x-b).^2;
  3 Kommentare
imed NASRI
imed NASRI am 25 Nov. 2013
Bearbeitet: imed NASRI am 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
Andrei Bobrov
Andrei Bobrov am 25 Nov. 2013
I corrected

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Biswajit M
Biswajit M am 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 Kommentar
imed NASRI
imed NASRI am 25 Nov. 2013
Bearbeitet: imed NASRI am 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??!!!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by