Effacer les filtres
Effacer les filtres

Element-By-Element Operations using Matlab

4 vues (au cours des 30 derniers jours)
imed NASRI
imed NASRI le 25 Nov 2013
Modifié(e) : imed NASRI le 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

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (1)

Biswajit M
Biswajit M le 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 commentaire
imed NASRI
imed NASRI le 25 Nov 2013
Modifié(e) : imed NASRI le 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??!!!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by