How to add to index in for loop?
    5 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!