redefine array in for loop
1 次查看(过去 30 天)
显示 更早的评论
Hi Guys,
for n = 3:length(x)
y1 = x(2:n) ;
t1 = ((n-2):-1:0)*dt ;
% y2 = x(1:n-1) ;
y2 = y1 - 1 ;
t2 = t1 +dt;
int(n) = sum (t1.^(k-1)/factorial(k-1).*y1 + t2.^(k-1)/factorial(k-1).*y2)*dt/2 ;
end
I want to define y2= y1 -1 instead y2= x (1:n-1) which I have commented above. By y2 = y1 - 1, occurred some errors in MATLAB. Why? It is not correct?
回答(1 个)
John Petersen
2012-7-5
y1-1 means the vector y1 with the quantity 1 subtracted from it. The commented code shifts the elements by one element. Which do you want to do?
5 个评论
F.
2012-7-11
If you don't use y1 and y2 after...
if k <= 0
int = x ;
return
else
int = zeros(1,numel(x));
end
for n = 3:numel(x)
t1 = ((n-2):-1:0)*dt ;
t2 = t1 +dt;
int(n) = sum ( ...
t1.^(k-1)/factorial(k-1) .* x( 2 : n ) + ...
t2.^(k-1)/factorial(k-1) .* x( 1 : n-1 ) ...
)*dt/2 ;
end
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!