Effacer les filtres
Effacer les filtres

How to simplify the given code snippet?

1 vue (au cours des 30 derniers jours)
Lulu
Lulu le 2 Nov 2011
Hello,
I need to simplify the following code. Perhaps 'reshape' function should be used, but in which way? Any ideas would be appreciated.
t=0:0.05:1;
% Dimensions of X and dx are the same
X=1:3; dx=0:0.1:0.3;
% How to write these 4 lines as 1?
colX1 = (X(1) + dx(1)*t)';
colX2 = (X(2) + dx(2)*t)';
colX3 = (X(3) + dx(3)*t)';
colX = [colX1; colX2; colX3];
  1 commentaire
Walter Roberson
Walter Roberson le 2 Nov 2011
Note: your dx array might turn out as either 3 or 4 elements long, so be careful not to code anything that depends implicitly upon the length of dx.

Connectez-vous pour commenter.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 2 Nov 2011
colX2 = reshape(bsxfun(@plus,X,bsxfun(@times,t',dx(1:3))),[],1);
or
colX2 = reshape(bsxfun(@plus,X,t'*dx(1:3)),[],1)

Plus de réponses (0)

Catégories

En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by