Plot for different conditions of function
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sara Boznik
el 14 de Ag. de 2020
Comentada: Rik
el 14 de Ag. de 2020
Hi everyone,
i have the task that I have to make plot for different conditions y(x) for different value x.
The following code I have is below. If is correct.
But plot did not work. I thought that missing hold on or something like that but also did not work.
clear all
close all
clc
x=rand
if x<6
y=2;
% fprintf ('%.2f, %d\n',x,y)
elseif x>=6 & x<20
y=x-4;
% fprintf ('%.2f, %.2f\n',x,y)
elseif x>=20
y=36-x;
% fprintf ('%.2f, %.2f\n',x,y)
end
fprintf ('%.2f, %.2f\n',x,y)
for x=-30:1:30
if x<6
y1=2;
plot(x,y1)
elseif x>=6 & x<20
y2=x-4;
plot(x,y2)
elseif x>=20
y3=36-x;
plot(x,y3)
end
end
Thank you!
0 comentarios
Respuesta aceptada
Rik
el 14 de Ag. de 2020
Editada: Rik
el 14 de Ag. de 2020
Your code is plotting scalars. If you want to see a line you should put in multiple values at the same time.
for x=-30:1:30
if x<6
y1=2;
plot(x,y1,'.')
elseif x>=6 & x<20
y2=x-4;
plot(x,y2,'.')
elseif x>=20
y3=36-x;
plot(x,y3,'.')
end
end
A better strategy would be to create the entire array at one, and then plot it as a vector.
x=-30:30;
y=NaN(size(x));
L=x<6;
y(L)=2;
L=x>=6 & x<20;
y(L)=x(L)-4;
L=x>=20;
y(L)=36-x(L);
plot(x,y)
Also, you shouldn't use clc,clear all,close all. You aren't printing anything to the command window, you should only use clear all exactly once in your entire code base, and you don't want to close all figures without knowing they are related to your code.
2 comentarios
Rik
el 14 de Ag. de 2020
That is a bad habit. If your instructor doesn't agree, feel free to refer them to me (or many others on this site for that matter).
If you don't understand what these commands do you shouldn't be using them. There is a valid case to make to start instructional scripts with clc,clear,close, maybe even close all (e.g. the demo that Image Analyst often adapts), but especially clear all is an indication that the linter is ignored, a bad habit.
It is much better to teach why and when you should use these commands than simply require them for every single script.
Más respuestas (0)
Ver también
Categorías
Más información sobre Annotations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!