import java.awt.*;
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了南豐免費(fèi)建站歡迎大家使用!
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class GameTest extends JFrame implements ActionListener{
/*
* 新建一個(gè)主面板(這個(gè)類可能是自定義的,本程序和API中沒有)。
*/
MainPanel j=new MainPanel();
JButton jPreview;
JLabel label;
Container container;
JPanel panel;
/**
* 主函數(shù)
* @param args
*/
public static void main(String[] args) {
//運(yùn)行程序
new GameTest();
}
/**
* 構(gòu)造函數(shù)。
*
*/
public GameTest()
{
//新建一個(gè)標(biāo)題為“拼圖”的窗口
JFrame fr =new JFrame("拼圖");
//獲取窗口容器。
container=fr.getContentPane();
//創(chuàng)建菜單條
JMenuBar jMenuBar=new JMenuBar();
//以下初始化菜單,并且設(shè)置快捷鍵和添加監(jiān)聽器。
JMenu jMenuGame=new JMenu("游戲(G)");
jMenuGame.setMnemonic('g');
JMenuItem jMenuItemStart = new JMenuItem("開始(S)");
jMenuItemStart.setMnemonic('s');
jMenuItemStart.addActionListener(this);
JMenuItem jMenuItemExit=new JMenuItem("退出(E)");
jMenuItemExit.setMnemonic('e');
jMenuItemExit.addActionListener(this);
jMenuGame.add(jMenuItemStart);
jMenuGame.add(jMenuItemExit);
//初始化按鈕并設(shè)置快捷鍵和添加監(jiān)聽器
JButton jChoice=new JButton("選圖(X)");
jChoice.setMnemonic('x');
jChoice.addActionListener(this);
jPreview=new JButton("預(yù)覽(P)");
jPreview.setMnemonic('p');
jPreview.addActionListener(this);
//將菜單和按鈕添加到菜單條中
jMenuBar.add(jMenuGame);
jMenuBar.add(jChoice);
jMenuBar.add(jPreview);
//將菜單條設(shè)為該窗口的主菜單
fr.setJMenuBar(jMenuBar);
//將主面板添加到該窗口的容器中。
container.add(j);
//設(shè)置大小
fr.setSize(315,360 );
fr.setVisible(true);
//設(shè)置默認(rèn)關(guān)閉方式。
fr.setDefaultCloseOperation(3);
}
/**
* 事件處理函數(shù)。
*/
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand()=="開始(S)")
{
j.Start();
}
if(e.getActionCommand()=="預(yù)覽(P)")
{
j.setVisible(false);
panel=new JPanel();
Icon icon=new ImageIcon("pictrue/pic"+"_"+MainPanel.pictureID+".jpg");
label=new JLabel(icon);
label.setBounds(300, 300, 0, 0);
panel.add(label);
panel.setSize(300, 300);
panel.setVisible(true);
this.container.add(panel);
jPreview.setText("返回(P)");
}
if(e.getActionCommand()=="返回(P)")
{
panel.setVisible(false);
j.setVisible(true);
j.repaint();
jPreview.setText("預(yù)覽(P)");
}
if(e.getActionCommand()=="退出(E)")
{
System.exit(0);
}
if(e.getActionCommand()=="選圖(X)")
{
//初始化選擇框,并提供選擇。
Choice pic = new Choice();
pic.add("七里香");
pic.add("依然范特西");
pic.add("八度空間");
pic.add("十一月的肖邦");
pic.add("魔杰座");
pic.add("葉惠美");
pic.add("我很忙");
int i=JOptionPane.showConfirmDialog(this, pic, "選擇圖片", JOptionPane.OK_CANCEL_OPTION);
if(i==JOptionPane.YES_OPTION)
{
//選擇圖片
MainPanel.pictureID=pic.getSelectedIndex()+1;
j.removeAll();
j.reLoadPicture();
j.repaint();
}
}
}
}
誤差函數(shù)。
在數(shù)學(xué)中,誤差函數(shù)(也稱之為高斯誤差函數(shù),error function or Gauss error function)是一個(gè)非基本函數(shù)(即不是初等函數(shù)),其在概率論、統(tǒng)計(jì)學(xué)以及偏微分方程和半導(dǎo)體物理中都有廣泛的應(yīng)用。
1、erf 是誤差函數(shù), erfc是誤差互補(bǔ)函數(shù),erf + erfc = 1 。
2、erf(α)=(2/根號下派)*(exp(-z方)對z積分,積分下限是0,上限是α),誤差函數(shù)從形式上很像正態(tài)分布的分布函數(shù)Φ(x),是對一個(gè)形如正態(tài)分布的概率密度函數(shù)做變上限積分的結(jié)果;
3、erfc(互補(bǔ)誤差函數(shù)):erfc(α)=(2/根號下π)*(exp(-z方)對z積分,從α積到正無窮大);
擴(kuò)展資料:
高斯函數(shù)的不定積分是誤差函數(shù)。在自然科學(xué)、社會(huì)科學(xué)、數(shù)學(xué)以及工程學(xué)等領(lǐng)域都有高斯函數(shù)的身影,這方面的例子包括:
1、在統(tǒng)計(jì)學(xué)與機(jī)率論中,高斯函數(shù)是常態(tài)分布的密度函數(shù),根據(jù)中心極限定理它是復(fù)雜總和的有限機(jī)率分布。
2、高斯函數(shù)是量子諧振子基態(tài)的波函數(shù)。
3、計(jì)算化學(xué)中所用的分子軌道是名為高斯軌道的高斯函數(shù)的線性組合(參見量子化學(xué)中的基組)。
在數(shù)學(xué)領(lǐng)域,高斯函數(shù)在厄爾米特多項(xiàng)式的定義中起著重要作用。高斯函數(shù)與量子場論中的真空態(tài)相關(guān)。在光學(xué)以及微波系統(tǒng)中有高斯波束的應(yīng)用。高斯函數(shù)在圖像處理中用作預(yù)平滑核。
參考資料:百度百科-誤差函數(shù)
#include math.h
#define ERF_PI 3.141592653589793
#define ERF_N 100
double erf(double x)////erf(x) = the cumulation of { 2/sqrt(pi)*exp(-z*z) } from 0 to x; //error function
{ // 2/sqrt(pi) * { ∑[(-1)^n / n! * x^(2n+1)/(2n+1)] + x }
double res = x;
double factorial = 1; //n!
double x_pow = x;
int one = 1, n;
for( n=1; n100; n++ ){
factorial *= n;
one *= -1;
x_pow *= x*x;
res += one / factorial * x_pow / ( 2*n+1 );
}
res *= 2 / sqrt(ERF_PI);
return res;
}
double norm_cdf(double x)//cumulation distribution function of standard normal distribution
{
return ( 1 + erf( x / sqrt(2) ) ) / 2;
}