Using 'subs' in parallel for more than one equation

1 Ansicht (letzte 30 Tage)
Tejas Adsul
Tejas Adsul am 6 Jul. 2018
Kommentiert: Tejas Adsul am 11 Jul. 2018
I have 5 equations in an array: E = [E1;E2;E3;E4;E5]. Each equation is made of symbolic variables x1,y1. I now want to substitute these variables with x2,y2. Right now, I have this simple loop:
for i = 1:5
E(i) = subs(E(i),[x1,y1],[x2,y2]);
end
I was wondering if these substitutions could be carried out simultaneously for each equation, since they are independent of each other. Can I use parfor here, and if so, how should I modify my code?

Antworten (1)

Piotr Balik
Piotr Balik am 8 Jul. 2018
Repmat is one of solutions:
E = subs(E,repmat([x1 y1],5,1),repmat([x2 y2],5,1))
Where 5,1 are 5-row 1-column copies of array [x1 y1].
  1 Kommentar
Tejas Adsul
Tejas Adsul am 11 Jul. 2018
This worked faster than the for loop. However, I tried removing the for loop:
E = subs(E,[x1,y1],[x2,y2]);
This works faster than repmat.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by