How to add to index in for loop?
3 views (last 30 days)
Show older comments
I am converting Python to Matlab. Here is Python code.
- collocation points
xc=np.zeros((numPanels,1))
yc=np.zeros((numPanels,1))
for i in range(numPanels):
xc[i]=(xp[i]+xp[i+1])/2
yc[i]=(yp[i]+yp[i+1])/2
Here is my Matlab code...
% collection of points xc = zeros(numPanels, 1);
yc = zeros(numPanels, 1);
for k = numPanels
xc(k) = (xp(k) + xp(k+1))/2
yc(k) = (yp(k) + yp(k+1))/2
end
xp and yp are arrays. I am trying to add 1 to the second index of xp and yp, where it says xp(k+1) and yp(k+1). Would I need to make another for loop for the indexing that is being added to 1?
0 Comments
Accepted Answer
KSSV
on 20 Oct 2017
Edited: Stephen23
on 22 Oct 2017
xc = zeros(numPanels, 1);
yc = zeros(numPanels, 1);
for k = 1:numPanels-1
xc(k) = (xp(k) + xp(k+1))/2
yc(k) = (yp(k) + yp(k+1))/2
end
You are in MATLAB..you can avoid loops here.
xc = (xp(1:end-1)+xp(2:end))/2 ;
yc = (yp(1:end-1)+yp(2:end))/2 ;
But the problem is size of xc and yc will be one less then xp and yp.
More Answers (0)
See Also
Categories
Find more on Call Python from MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!