The plot of this discontinous values does not work.
    10 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Stefan Henning
 el 18 de Feb. de 2015
  
    
    
    
    
    Comentada: Stefan Henning
 el 18 de Feb. de 2015
            Dear Matlab Community,
I got a problem plotting this discontinous geometry. There are no erros, but The plot is empty, just filled with some dots, that are even hard to realize :-( I really need to plot with x defined as a vector using linspace, like I did. I have no clue how to solve this problem. I would be very thankful if someone could help me out.
Thank you! Stefan
Here is the code I try to plot:
clc
clear all
close all
%Parameter:
R=2;
h=1; 
L=10;
B = 5;
x=linspace(0.0,(2*R+L),100);
hmin = h/2; 
if (x < R)
 y2 = (R+hmin)-sqrt((R+hmin)^2-((R+hmin)^2-R^2+(x-R).^2));
 y2_neg = -y2;
elseif (x > (L+R))
 y2 = (R+hmin)-sqrt((R+hmin)^2-((R+hmin)^2-R^2+(x-R).^2));
 y2_neg = -y2;
 else
 y2 = hmin;
 y2_neg = -y2;
end
plot(x,y2,x,y2_neg);
grid on
title('Geometrie der Gelenkkontur')
xlabel('s = [0:L]')
ylabel('H(x)')
axis equal
0 comentarios
Respuesta aceptada
Más respuestas (2)
  Erik S.
      
 el 18 de Feb. de 2015
        Your y2 and y2_neg variables are not vectors, only scalars You can make a loop and compute the y2 and y2_neg for each value of x instead
1 comentario
  Erik S.
      
 el 18 de Feb. de 2015
        There are a couple of issues. First you get complex numbers ( at least I get it when I run your code) so somehow you take the sqrt of a negative value. Secondly you overwrite your plot in every iteration. I would recommend to create vectors inside the loop (i.e. make y2 and y2_neg vectors) and run the plotting command outside the loop
0 comentarios
Ver también
Categorías
				Más información sobre Graphics Performance 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!

