Plotando função Gauss no VB NET
Por Vitor Amadeu Souza - 13/04/2019
1. Introdução
A função de Gauss descreve uma curva como mostra a figura abaixo.
Esta curva varia em de acordo com os parâmetros da função de Gauss, que é descrita como apresentado abaixo:
Onde:
a = Pico da curva
b = Centro do pico da curva
c = Largura da curva seno
e = Constante de Euler (aproximadamente 2,72)
2. Tela gráfica
Crie um novo projeto e deixe-o com a interface apresentada a seguir, alterando os names solicitados.
Obs: O componente fx é um listbox.
3. Programação
Clique duas vezes sobre o botão Calcular e escreva o trecho de código abaixo.
Dim va, vb, vc, vfx, i, f As Double
va = Double.Parse(a.Text)
vb = Double.Parse(b.Text)
vc = Double.Parse(c.Text)
i = vc / 2
f = vc + vc / 2
fx.Items.Clear()
For x = i To f Step 0.1
vfx = va * Math.Pow(2.72, -Math.Pow(x - vb, 2) / (2 * vc * vc))
fx.Items.Add(x.ToString("N2") + "-" + vfx.ToString("N4"))
Next
O bloco lê as caixas de texto para em seguida calcular a variável buscada, atualizando com o resultado apurado a listbox com os valores de x e fx. Acompanhe os exemplos e observe que o pico (a) somente é observado no ponto central (b).
4. Plotando o gráfico
Crie um novo projeto e deixe-o com a interface apresentada a seguir, alterando os names solicitados.

O componente plot é do tipo Chart. Após inserí-lo, vá à propriedade Series e remova a opção padrão que aparecer.
5. Programação
Clique duas vezes sobre o botão Plotar e escreva o trecho de código abaixo.
plot.ChartAreas.Clear()
plot.ChartAreas.Add("Default")
plot.ChartAreas("Default").AxisX.Title = "x"
plot.ChartAreas("Default").AxisY.Title = "f(x)"
plot.ChartAreas("Default").AxisX.MajorGrid.LineColor = Color.SkyBlue
plot.ChartAreas("Default").AxisY.MajorGrid.LineColor = Color.SkyBlue
plot.Series.Clear()
plot.Series.Add("plot1")
plot.Series("plot1").Color = Color.Red
plot.Series("plot1").ChartType=DataVisualization.Charting.SeriesChartType.Line
Dim va, vb, vc, x, y As Double
va = Double.Parse(a.Text)
vb = Double.Parse(b.Text)
vc = Double.Parse(c.Text)
For x = -10 To 10 Step 0.1
y = va * Math.Pow(2.72, -Math.Pow(x - vb, 2) / (2 * vc * vc))
plot.Series("plot1").Points.AddXY(x, y)
Next
O bloco lê as caixas de texto para em seguida plotar o gráfico de acordo com a função estudada. Acompanhe o exemplo.
Literatura recomendada:
Estudando e plotando uma Função de Gauss Programado em Visual Basic - Vitor Amadeu Souza
https://clubedeautores.com.br
 |
Vitor Amadeu Souza
vitor@cerne-tec.com.br
Sou Mestre em Instrumentação Científica e Engenheiro da Computação, atuando na área de projetos eletrônicos há vários anos. Desenvolvo projetos de hardware e software voltados para a área industrial, médica, científica, comercial, dentre outras sob demanda. No momento trabalho na Cerne Tecnologia e Treinamento (www.cerne-tec.com.br), empresa voltada para desenvolvimento de projetos, comercialização de kits didáticos e educação tecnológica na área de microcontroladores, linguagens de programação, desenvolvimento de projetos e layout. Ao longo dos anos escrevi vasto acervo literário técnico e científico, estando o catálogo completo disponível no Clube de Autores e no Amazon.
|
|