Como desenhar uma função triangular e outras etapa funções no Matlab [fechado]

StackOverflow https://stackoverflow.com//questions/20033809

  •  21-12-2019
  •  | 
  •  

Pergunta

Como indica o título, eu quero saber como desenhar um triangular função no Matlab.exemplo:

f(x) = 1-|x| for |x| < 1 and f(x) = 0 otherwise

Bem como as funções de:

Af(x) = A for x >= 0 and Af(x) = 0 for x < 0; -f(x) = -1 for x >= 0 and -f(x) = 0 for x < 0
Foi útil?

Solução

Eu suponho que você não estiver usando variáveis simbólicas.Para plotagem 2D em matlab você precisa de dois vetores de tamanho igual, um por eixo, de modo que você precisa para criar um eixo x do vetor e o eixo y do vetor.No seu exemplo f(x) = 1- |x| para |x| < 1 você poderia fazer isso:

x = linspace(-5,5,500); %x-axis vector from -5 to 5 with 500 points
y = zeros(1,500);  %y-axis vector initialized to 0, also 500 points like the x-axis vector
y(abs(x) < 1) = 1- abs(x(abs(x)<1)); %the points corresponding to |x|< 1 are set to |x|

figure() %new figure
plot(x,y) %plot
box off  %removing box
grid on  %adding grid
xlabel('x axis', 'FontSize', 15) %label of x axis
ylabel('y axis', 'FontSize', 15) %label of y axis
axis([x(1), x(end), -0.5, 1.5])  %axis limits

Com que você obtenha um gráfico como este:

enter image description here

Para as outras funções, você tem que proceder como em um presente, construir o eixo x do vetor e o eixo y do vetor.

ATUALIZAÇÃO: Em outro exemplo: f(x) = A for x >= 0 and f(x) = 0 for x < 0:

A = 3;
x = linspace(-5,5,500); %x-axis vector from -5 to 5 with 500 points
y = zeros(1,500);  %y-axis vector initialized to 0, also 500 points like the x-axis vector
y(x >= 0) = A; %the points corresponding to x >= 0 are set to A

figure() %new figure
plot(x,y) %plot
box off  %removing box
grid on  %adding grid
xlabel('x axis', 'FontSize', 15) %label of x axis
ylabel('y axis', 'FontSize', 15) %label of y axis
axis([x(1), x(end), -0.5, 3.5])  %axis limits

enter image description here

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top