Misbehaving script
Show older comments
Hi, i'm writing a script to calculate diameters of pipes for me. However, Matlab is acting up on me (or i'm missing something).
I've set up a few parameters at the start of the script, defined a function and set up a for loop to get me my values.
Q_in=(2/9);
n_nozzle=10;
n_row=9;
d_in=250e-3;
Q_nozzle=2.2e-3;
Q=zeros(n_row,n_nozzle);
Q(1,1)=Q_in;
Q_R=@(r,c) Q(r-1,c)-(Q_nozzle+(n_nozzle*Q_nozzle))
for (i=2:n_row)
Q(i,1)=Q_R(i,1);
end
for the first iteration where i=2, the script works properly and produces the right answer. But starting from i=3, the Q(r-1,c) part of the Q_R function just keeps ending up as 0 where it should be referencing Q(2,1).
I have manually tried Q(2,1)-(Q_nozzle+(n_nozzle*Q_nozzle)) and in this case the Q(2,1) correctly references Q(2,1). The function just does not work properly if I use Q_R(3,1).
What is going on here ?
Accepted Answer
More Answers (1)
Paulo Silva
on 3 Dec 2011
I see it working properly, see it by yourself with this code
clc
Q_in=(2/9);
n_nozzle=10;
n_row=9;
d_in=250e-3;
Q_nozzle=2.2e-3;
Q=zeros(n_row,n_nozzle);
Q(1,1)=Q_in;
Q_R=@(r,c) Q(r-1,c)-(Q_nozzle+(n_nozzle*Q_nozzle));
for i=2:n_row
Q(i,1)=Q_R(i,1);
i
Q_R(i,1)
pause(0.3)
end
5 Comments
Christopher
on 3 Dec 2011
Paulo Silva
on 3 Dec 2011
ok you are right and I'm stuck without a solution, it's been a while since I had this kinds of problems to solve but I won't give up
Paulo Silva
on 3 Dec 2011
So it works diferently without the function
Q_in=(2/9);
n_nozzle=10;
n_row=9;
d_in=250e-3;
Q_nozzle=2.2e-3;
Q=zeros(n_row,n_nozzle);
Q(1,1)=Q_in;
for n=2:n_row
Q(n,1)=Q(n-1,1)-(Q_nozzle+(n_nozzle*Q_nozzle));
end
Q(1:end,1)
Christopher
on 3 Dec 2011
Paulo Silva
on 3 Dec 2011
so am I, been away from such weird problems for some time, you can reproduce the original problem without the loop
Q_in=(2/9);
n_nozzle=10;
n_row=9;
d_in=250e-3;
Q_nozzle=2.2e-3;
Q=zeros(n_row,n_nozzle);
Q(1,1)=Q_in;
%for
n=2:n_row;
Q(n,1)=Q(n-1,1)-(Q_nozzle+(n_nozzle*Q_nozzle));
%end
Q(1:end,1)
very strange or I might be missing something simple :S
Categories
Find more on Classification Ensembles 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!