Hello guys,
I have a function in a for loop and I want to get different values for different timestamps. In order to plot the results, I need the values from the for loop. The function fy gives me a [4,1] matrix and all I want is a "result" matrix with all values from the loop. I know that the dimensions do not fit, but I can't come up with a solution. Thanks for helping!
CODE
fy = @(t) (V*expm(D.*t)*inv(V))*x0;
for i = 1:20
y(i) = fy(i);
end
ERROR
Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.

답변 (1개)

Ameer Hamza
Ameer Hamza 2020년 11월 12일

0 개 추천

You can insert the returned values in colums. For example
fy = @(t) (V*expm(D.*t)*inv(V))*x0;
y = zeros(4, 20);
for i = 1:20
y(:, i) = fy(i);
end

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2020년 11월 12일

댓글:

2020년 11월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by