Azzera filtri
Azzera filtri

How to simplify the given code snippet?

1 visualizzazione (ultimi 30 giorni)
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 Commento
Walter Roberson
Walter Roberson il 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.

Accedi per commentare.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 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)

Più risposte (0)

Categorie

Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!

Translated by