code loop occur errors
Show older comments
m = 0.5;
g = 9.81;
F = m*g;
theta = 0:50
V = sqrt(2*F/m);
vertical = V*sin(theta);
pve = V_hi > 0;
t_pve = theta(pve);
for i = 1:length(V_vi)
for j = 1:length(t_pve)
j = j+1;
while vertical(i) > 4.65
vertical(i) = Vertical_new;
end
end
end
I wanna obtain all the Vertical_new which satisfied the while loop condition, why it won't run? This is the error shown
Unrecognized function or variable 'Vertical_new'
9 Comments
Torsten
on 20 May 2022
V_hi, V_vi, Vertical_new are not defined anywhere in the above code.
John fredson
on 20 May 2022
KSSV
on 20 May 2022
m = 0.5;
g = 9.81;
F = m*g;
theta = 0:50
V = sqrt(2*F/m);
vertical = V*sin(theta);
pve = vertical > 0;
t_pve = theta(pve);
for i = 1:length(vertical)
for j = 1:length(t_pve)
while vertical(i) > 4.65
vertical(i) = Vertical_new;
end
end
end
You have to define Vertical_new.
John fredson
on 20 May 2022
Torsten
on 20 May 2022
First, use "sind" instead of "sin" because your theta values are in degrees, not in radians.
What's your aim ? Do you want to extract those components of the vector "vertical" which are > 4.65 ? Maybe it's easier to look at the problem than to look at the code.
John fredson
on 20 May 2022
m = 0.5;
g = 9.81;
F = m*g;
theta = 0:50
V = sqrt(2*F/m);
vertical = V*sind(theta);
Vertical_new = vertical(vertical > 4.65)
extracts the elements of the vector "vertical" which are > 4.65. Is it that what you mean ?
John fredson
on 20 May 2022
Edited: John fredson
on 20 May 2022
dpb
on 20 May 2022
...
for i = 1:length(V_vi)
for j = 1:length(t_pve)
j = j+1;
while vertical(i) > 4.65
vertical(i) = Vertical_new;
end
end
end
Besides the other comments, there's nothing inside the loop over j that is dependent upon what j is; it simply repeats the same assignment of i element of array length(t_pve) times.
Secondly, you try to change the loop indexing variable j each time inside the loop -- this is not kosher; see the documentation for for that has an explanation/note about it. Even if it were used, the loop construct would reset it to the loop counter value each pass through the loop, anyway...
Thirdly, you referenced a variable V_hi that looks to have been intended to be the height against to test; but as others noted, it's not defined. Assign it the value of the constant and don't bury "magic" numbers of that sort in the code; use variables that can be changed easily/documented.
Answers (0)
Categories
Find more on Loops and Conditional Statements 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!