Como extrair pontos
de um gráfico
usando Matlab
Profa. Regiane Ragi
Suponha que você
precise tirar os
pontos de um
gráfico, como o da
figura ao lado
Para por exemplo,
comparar esses pontos
com resultados de
simulação que você tenha
obtido em um
determinado trabalho
Neste caso, existe no Matlab uma
ferramenta excelente para esse
trabalho chamada GRABIT.
3
Grabit
O Grabit é um
programa para
extrair dados de
um arquivo de
imagem
Em geral, é necessário baixar da
internet o programa
Grabit.m
5
Procure na internet
ou
tente este endereço:
https://www.mathworks.com/matlabcentral/fileexc
hange/7173-grabit
6
Baixe esse arquivo para o seu computador
no diretório de trabalho que você estiver
trabalhando, por exemplo, diretório work do
Matlab, ou outro qualquer de sua preferência.
7
Abra o
MATLAB
8
Se o grabit já estiver no seu
diretório de trabalho, basta digitar
> grabit
no prompt do Matlab,
9
e abrirá uma janela, parecida
com esta mostrada AQUI.
10
Agora vamos mostrar o que
fazer com o Grabit para
extrair os pontos da imagem.
11
Etapa 1 – Carregar imagem Primeiramente é
necessário
carregar o arquivo
que contém a
imagem que você
deseja extrair os
pontos.
Load image
12
São vários tipos
de arquivos de
imagem
permitidos:
jpeg
tiff
png
bmp
etc.
Etapa 1 – Carregar imagem
13
Escolha a sua
imagem.
Etapa 1 – Carregar imagem
14
A imagem está
selecionada.
Temos aqui 4
curvas.
1) 2 curvas em
escala logarítmica e
2) 2 curvas em
escala linear.
1
2
3
4
1 2 3 4
Etapa 1 – Carregar imagem
15
Suponha que
estamos
interessados em
extrair os pontos
da curva
apenas.
1
2
3
4
1
Etapa 1 – Carregar imagem
16
Etapa 2 - Calibragem Tendo escolhido a
imagem para
extração dos
pontos, vamos
para a etapa de
calibragem.
Calibrate
17
Nesta etapa
agora, vamos
marcar as
referências do
gráfico:
1) xmin,
2) xmax,
3) ymin,
4) ymax
xmin, ymin
ymax
xmax
Etapa 2 - Calibragem
18
Escolha o que
melhor
representa no
seu caso.
xmin, ymin
ymax
xmax
Etapa 2 - Calibragem
19
Coloque o cursor em
cima do ponto em que
será x0, e dê um
clique.
Em seguida,
digite o valor
desse ponto.
Neste caso,
xmin = 0.
20
Na sequencia, o
programa espera que
você entre com o valor
de xmax
Neste caso, vamos
escolher:
xmax = 2.
21
Agora você deve entrar
com o valor da origem
do ymin
22
Agora você deve entrar
com o valor da origem
do ymin
Neste caso, vamos
escolher:
???
23
Repare que neste caso
aqui, temos uma
escala logarítmica no
eixo y.
24
Se fosse
simplesmente uma
escala linear, você
poderia apenas digitar
os valores encontrados
no eixo y, para ymin e
ymax.
e ymaxymin
25
Todavia, como se trata
de uma escala
logarítmica,
você digita
simplesmente os
expoentes
ymin = -13
ymax = -4
26
Faça isso, e quando for
plotar o gráfico no
matlab, irá ler este
resultado, e fazer
10 elevado a este
valor,
de maneira que
recomporá
exatamente o valor
deste ponto.
27
28
Clique agora nesse
ponto e coloque o
valor de ymax = -4
29
Confira
30
Etapa 3 – Capturar pontos
Depois de concluído a calibragem, vamos capturar
os pontos na imagem
Grabbing points
Clique no
botão
31
Etapa 3 – Capturar pontos
Com o cursor, você clica sobre alguns pontos da
curva desejada, por exemplo, a curva 1.
Grab points
32
Etapa 3 – Capturar pontos
Você vai clicando e o programa vai armazenando a
posição desses pontos com relação aos pontos que
você levantou no processo de calibragem.
Grab points
33
Cada clique o
programa vai
marcando com uma
bolinha vermelha.
34
Cada clique o
programa vai
marcando com uma
bolinha vermelha.
... e os
pontos
capturados
vão sendo
mostrados
em cima.
35
Quando terminar de
capturar todos os
pontos que você
quiser, clique no botão
Grabbing Points
novamente.
36
Etapa 4 – Salvar os pontos
Nesta etapa você irá salvar os pontos
que o programa capturou, e escolher o
formato que deseja.
Você pode salvar nome_arquivo.txt
37
38
Agora você terá o arquivo de pontos
Data001.txt
39
No Editor do Matlab, você pode escrever
um programa para plotar esses pontos
Data001.txt
40
Coloque o caminho
correto do diretório que
você está trabalhando.
41
Aqui, você resgata a
potência de 10.
clc
% *******************************
matrI=load('C:MATLAB7workData001.txt');
V1 = matrI(:,1);
matrV=load('C:MATLAB7workData001.txt');
Ig1 = matrV(:,2);
Ig1=10.^Ig1;
% *******************************
figure (1)
semilogy(V1,Ig1,'-b','LineWidth',2)
axis([0 2 1e-12 1e-3 ])
grid on
set(gca,'fontsize',14)
set(gca,'fontname','times')
xlabel('V_{gs} (V)')
ylabel('I_{ds} (A)')
title([' Curva Experimental '])
% *******************************
42
Acionando o comando de
execução do programa
Matlab obtemos
43
Acionando o comando de
execução do programa
Matlab obtemos
44
Faça o mesmo procedimento
para todas as outras curvas.
45
A imagem usada nesta
apresentação para fins
educacionais foi extraída da
referência:
E. Gnani, A. Gnudi, S. Reggiani, and G.
Baccarani, "Theory of the junctionless
nanowire FET," IEEE Transactions on
Electron Devices, vol. 58, no. 7, pp. 2903--
2910, July 2011.
47

Como extrair pontos de um gráfico usando MATLAB

  • 1.
    Como extrair pontos deum gráfico usando Matlab Profa. Regiane Ragi
  • 2.
    Suponha que você precisetirar os pontos de um gráfico, como o da figura ao lado Para por exemplo, comparar esses pontos com resultados de simulação que você tenha obtido em um determinado trabalho
  • 3.
    Neste caso, existeno Matlab uma ferramenta excelente para esse trabalho chamada GRABIT. 3
  • 4.
    Grabit O Grabit éum programa para extrair dados de um arquivo de imagem
  • 5.
    Em geral, énecessário baixar da internet o programa Grabit.m 5
  • 6.
    Procure na internet ou tenteeste endereço: https://www.mathworks.com/matlabcentral/fileexc hange/7173-grabit 6
  • 7.
    Baixe esse arquivopara o seu computador no diretório de trabalho que você estiver trabalhando, por exemplo, diretório work do Matlab, ou outro qualquer de sua preferência. 7
  • 8.
  • 9.
    Se o grabitjá estiver no seu diretório de trabalho, basta digitar > grabit no prompt do Matlab, 9
  • 10.
    e abrirá umajanela, parecida com esta mostrada AQUI. 10
  • 11.
    Agora vamos mostraro que fazer com o Grabit para extrair os pontos da imagem. 11
  • 12.
    Etapa 1 –Carregar imagem Primeiramente é necessário carregar o arquivo que contém a imagem que você deseja extrair os pontos. Load image 12
  • 13.
    São vários tipos dearquivos de imagem permitidos: jpeg tiff png bmp etc. Etapa 1 – Carregar imagem 13
  • 14.
    Escolha a sua imagem. Etapa1 – Carregar imagem 14
  • 15.
    A imagem está selecionada. Temosaqui 4 curvas. 1) 2 curvas em escala logarítmica e 2) 2 curvas em escala linear. 1 2 3 4 1 2 3 4 Etapa 1 – Carregar imagem 15
  • 16.
    Suponha que estamos interessados em extrairos pontos da curva apenas. 1 2 3 4 1 Etapa 1 – Carregar imagem 16
  • 17.
    Etapa 2 -Calibragem Tendo escolhido a imagem para extração dos pontos, vamos para a etapa de calibragem. Calibrate 17
  • 18.
    Nesta etapa agora, vamos marcaras referências do gráfico: 1) xmin, 2) xmax, 3) ymin, 4) ymax xmin, ymin ymax xmax Etapa 2 - Calibragem 18
  • 19.
    Escolha o que melhor representano seu caso. xmin, ymin ymax xmax Etapa 2 - Calibragem 19
  • 20.
    Coloque o cursorem cima do ponto em que será x0, e dê um clique. Em seguida, digite o valor desse ponto. Neste caso, xmin = 0. 20
  • 21.
    Na sequencia, o programaespera que você entre com o valor de xmax Neste caso, vamos escolher: xmax = 2. 21
  • 22.
    Agora você deveentrar com o valor da origem do ymin 22
  • 23.
    Agora você deveentrar com o valor da origem do ymin Neste caso, vamos escolher: ??? 23
  • 24.
    Repare que nestecaso aqui, temos uma escala logarítmica no eixo y. 24
  • 25.
    Se fosse simplesmente uma escalalinear, você poderia apenas digitar os valores encontrados no eixo y, para ymin e ymax. e ymaxymin 25
  • 26.
    Todavia, como setrata de uma escala logarítmica, você digita simplesmente os expoentes ymin = -13 ymax = -4 26
  • 27.
    Faça isso, equando for plotar o gráfico no matlab, irá ler este resultado, e fazer 10 elevado a este valor, de maneira que recomporá exatamente o valor deste ponto. 27
  • 28.
  • 29.
    Clique agora nesse pontoe coloque o valor de ymax = -4 29
  • 30.
  • 31.
    Etapa 3 –Capturar pontos Depois de concluído a calibragem, vamos capturar os pontos na imagem Grabbing points Clique no botão 31
  • 32.
    Etapa 3 –Capturar pontos Com o cursor, você clica sobre alguns pontos da curva desejada, por exemplo, a curva 1. Grab points 32
  • 33.
    Etapa 3 –Capturar pontos Você vai clicando e o programa vai armazenando a posição desses pontos com relação aos pontos que você levantou no processo de calibragem. Grab points 33
  • 34.
    Cada clique o programavai marcando com uma bolinha vermelha. 34
  • 35.
    Cada clique o programavai marcando com uma bolinha vermelha. ... e os pontos capturados vão sendo mostrados em cima. 35
  • 36.
    Quando terminar de capturartodos os pontos que você quiser, clique no botão Grabbing Points novamente. 36
  • 37.
    Etapa 4 –Salvar os pontos Nesta etapa você irá salvar os pontos que o programa capturou, e escolher o formato que deseja. Você pode salvar nome_arquivo.txt 37
  • 38.
  • 39.
    Agora você teráo arquivo de pontos Data001.txt 39
  • 40.
    No Editor doMatlab, você pode escrever um programa para plotar esses pontos Data001.txt 40
  • 41.
    Coloque o caminho corretodo diretório que você está trabalhando. 41
  • 42.
    Aqui, você resgataa potência de 10. clc % ******************************* matrI=load('C:MATLAB7workData001.txt'); V1 = matrI(:,1); matrV=load('C:MATLAB7workData001.txt'); Ig1 = matrV(:,2); Ig1=10.^Ig1; % ******************************* figure (1) semilogy(V1,Ig1,'-b','LineWidth',2) axis([0 2 1e-12 1e-3 ]) grid on set(gca,'fontsize',14) set(gca,'fontname','times') xlabel('V_{gs} (V)') ylabel('I_{ds} (A)') title([' Curva Experimental ']) % ******************************* 42
  • 43.
    Acionando o comandode execução do programa Matlab obtemos 43
  • 44.
    Acionando o comandode execução do programa Matlab obtemos 44
  • 45.
    Faça o mesmoprocedimento para todas as outras curvas. 45
  • 46.
    A imagem usadanesta apresentação para fins educacionais foi extraída da referência: E. Gnani, A. Gnudi, S. Reggiani, and G. Baccarani, "Theory of the junctionless nanowire FET," IEEE Transactions on Electron Devices, vol. 58, no. 7, pp. 2903-- 2910, July 2011.
  • 47.