A problem in writing a code
이전 댓글 표시
I have a problem in a code.
y_d = zeros (N,1)
for cont = 1:N
y_d (cont,1) = u (cont);
end
u_minus = zeros (N,1);
Output = zeros (N,1);
for count = 1:N
Output (count,1) = y_sin_real (count);
end
for c = 0:N
mat2 = y_d - ((h_minus * u_minus) - (Output - y_d));
u_plus = mat1\(h_plus_t * Q)* mat2;
Output = (h_plus * u_plus) + (h_minus * u_minus);
u_minus = [u_minus ; u_plus(1)];
u_minus = u_minus (2 : N+1);
error = abs(y_d) - abs(Output);
end
as you can see, i first give an initial state to Output to use in calculation, but in the loop, i'm changing it's value N times. but it's not workin and in the end of the loop i still have the initial numbers for Output.
what is the problem???
thanks.
댓글 수: 1
Dr. Seis
2011년 12월 9일
You should also show how the other variables (i.e., the one in your third "for" loop) are created above. Or at least tell us their dimensions.
답변 (3개)
Hamed P. Azad
2011년 12월 9일
0 개 추천
댓글 수: 2
Sean de Wolski
2011년 12월 9일
Can you provide us with enough of the input data that we can replicate this?
Dr. Seis
2011년 12월 9일
Okay... then what are their dimensions? Are they also Nx1 vectors?
Daniel Shub
2011년 12월 9일
One issue is that in the 3rd loop you overwrite Output. All you work in the second loop is lost on the first iteration of the 3rd loop. The line:
Output = (h_plus * u_plus) + (h_minus * u_minus);
is potentially problematic.
Dr. Seis
2011년 12월 9일
The first line in your third "for" loop is:
mat2 = y_d - ((h_minus * u_minus) - (Output - y_d));
which is basically:
mat2 = h_minus * u_minus - Output;
카테고리
도움말 센터 및 File Exchange에서 Numerical Integration and Differentiation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!