A problem in writing a code

3 次查看(过去 30 天)
Hamed P. Azad
Hamed P. Azad 2011-12-9
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
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
Hamed P. Azad 2011-12-9
yes, the problem is in the 3rd for loop, but the variables are set correctly, and the code runs fine; except for the "Output" that stays the way it was initiated.
the code is long and the variables are set in different loops.
  2 个评论
Sean de Wolski
Sean de Wolski 2011-12-9
Can you provide us with enough of the input data that we can replicate this?
Dr. Seis
Dr. Seis 2011-12-9
Okay... then what are their dimensions? Are they also Nx1 vectors?

请先登录,再进行评论。


Daniel Shub
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
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;

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differentiation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by