Hi, I'm trying to find a program line which will make matlab dump numbers that don't respond to an if statement.

조회 수: 1 (최근 30일)
if abs(z(1,end,n)-Z)<=Err
hold on
figure(1)
plot(z(1,:),z(3,:))
xlabel('x')
ylabel('y')
axis ([0 12000 0 10000])
else
%Dump, don't plot.
  댓글 수: 3
Christopher
Christopher 2012년 11월 30일
I want simply to stop it from plotting everything, i'll post the code so you can run it.
function [ ] = lolly()
tInc = input('Input desired timestep (in seconds)');
Z = input('Input desired Landing distance (in meters)');
t(1)=0;
Ang1 = input('First angle of shooting (in degrees)');
Ang2 = input('Last angle of shooting (in degrees)');
AInc = input('Angle increment (also in degrees)');
Err = input('Acceptable Error (in meters)');
w = (Ang2-Ang1)/AInc;
IAng = linspace(Ang1,Ang2,w);
for n=1:w;
z(:,1,n) = VelocityforAngle(IAng(n));
i=1;
while z(3,i,n)>=0;
i=i+1;
t(i)=t(i-1)+tInc;
[z(:,i,n)] = oneStepRK(t(i-1), z(:,i-1,n), tInc);
if abs(z(1,end,n)-Z)<=Err
hold on
figure(1)
plot(z(1,:),z(3,:))
xlabel('x')
ylabel('y')
axis ([0 12000 0 10000])
else
end
end
end
Walter Roberson
Walter Roberson 2012년 11월 30일
편집: Walter Roberson 2012년 11월 30일
You want it to stop all further plots? Or you want it to continue on with the next "n" ? Or you just don't want to plot that one line?
The code you already give will have it skip one line.
Earlier on you assign to z(:,i,n) but in that if you refer to z(1,end,n) which seems to rely upon the fact that you did not pre-allocate z and so "end" refers to the same location as "i". Why not just code as "i", z(1,i,n) and avoid the confusion ?
Why are you referring to z in 3 dimensional form as you calculate it, but in 2 dimensional form when you plot it?

댓글을 달려면 로그인하십시오.

답변 (1개)

dpb
dpb 2012년 12월 1일
If you want to abort the loop see
doc break
If you want to keep going then as Walter notes the empty ELSE clause skips effectively (of course you can just use an IF...END w/o the ELSE too)...
If it's something else, the description isn't terribly precise...

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by