Filter löschen
Filter löschen

How to simplify the given code snippet?

1 Ansicht (letzte 30 Tage)
Lulu
Lulu am 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 Kommentar
Walter Roberson
Walter Roberson am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Weitere Antworten (0)

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by