导航:首页 > 编程语言 > java协方差

java协方差

发布时间:2022-08-07 03:09:08

㈠ 急求:用java语言编写队列中每一列的标准差,求高手解救

package 回答;

import java.text.DecimalFormat;
public class BiaoZC {
public static void main(String[] args){
int[][] a = {{1 ,3 ,9 ,5 ,1},
{5 ,6 ,4 ,5 ,4},
{7 ,0 ,7 ,1 ,0},
{1 ,0 ,3 ,0 ,5},
{5 ,4 ,2 ,9 ,7},
{6 ,7 ,3 ,9 ,2},
{4 ,4 ,8 ,6 ,0},
{5 ,4 ,3 ,6 ,5},
{7 ,6 ,8 ,5 ,0},
{2 ,1 ,0 ,0 ,2},
{6 ,6 ,8 ,8 ,5},
{6 ,7 ,6 ,8 ,2},
{6 ,3 ,6 ,7 ,5},
{2 ,0 ,6 ,7 ,2},
{4 ,2 ,0 ,8 ,0},
{3 ,0 ,0 ,8 ,2},
{5 ,4 ,4 ,4 ,4},
{6 ,7 ,8 ,9 ,0},
{3 ,4 ,6 ,5 ,1},
{2 ,4 ,3 ,4 ,5},
{3 ,1 ,8 ,6 ,0},
{4 ,5 ,7 ,9 ,2},
{2 ,1 ,5 ,4 ,0},
{1 ,7 ,2 ,9 ,0},
{6 ,6 ,6 ,8 ,4},
{5 ,0 ,0 ,8 ,0},
{7 ,3 ,2 ,8 ,1},
{9 ,8 ,6 ,7 ,6},
{9 ,7 ,2 ,4 ,6},
{6 ,6 ,4 ,8 ,5},
{7 ,8 ,9 ,8 ,0},
{6 ,4 ,0 ,0 ,7},
{7 ,5 ,0 ,4 ,0},
{8 ,0 ,4 ,8 ,0},
{4 ,3 ,1 ,2 ,5},
{7 ,4 ,9 ,9 ,4},
{8 ,5 ,1 ,4 ,1},
{5 ,5 ,0 ,8 ,6},
{7 ,0 ,0 ,8 ,4},
{6 ,2 ,9 ,2 ,4},
{8 ,0 ,2 ,7 ,0},
{5 ,0 ,2 ,7 ,2},
{7 ,2 ,0 ,9 ,0},
{5 ,0 ,2 ,8 ,3},
{7 ,0 ,8 ,5 ,0},
{2 ,4 ,6 ,7 ,0}
};
double var = 0,sum = 0,m;
String s,ss;
DecimalFormat format = new DecimalFormat("#0.00");
for(int i=0;i<a[0].length;i++){
for(int j=0;j<a.length;j++)
sum += a[j][i];
m = sum/a.length;
for(int j=0;j<a.length;j++)
var += Math.pow(a[j][i]-m,2);
s = format.format(m);
ss = format.format(Math.sqrt(var));
System.out.println("第"+(i+1)+"列的平均数为:"+s);
System.out.println("第"+(i+1)+"列的方差为:"+ss);
}
}
}

你可以从文件读取这个数据,剩下的自己去做吧

㈡ Java救命

java很少用来做图形界面啊

㈢ java 求 数组的方差

public static void main(String[] args) {
double[] array = { 1, 2, 3, 4, 5, 6 };
double ave = 0;
for (int i = 0; i < array.length; i++)
ave += array[i];
ave /= array.length;

double sum = 0;
for(int i = 0;i<array.length;i++)
sum += (array[i] - ave) * (array[i] - ave) ;
sum /= array.length;

System.out.println(sum);
}

㈣ 数据处理,用C++或者Java编写,求一组数的方差均值众数标准差中位数等

平均数、众数、中位数这三个统计量的各自特点是:
平均数的大小与一组数据里的每个数据均有关系,其中任何数据的变动都会相应引起平均数的变动;众数则着眼于对各数据出现的次数的考察,其大小只与这组数据中的部分数据有关,当一组数据中有不少数据多次重复出现时,其众数往往是我们关心的一种统计量;中位数则仅与数据排列位置有关,当一组数据从小到大排列后,最中间的数据为中位数(偶数个数据的最中间两个的平均数)。因此某些数据的变动对它的中位数影响不大。
在同一组数据中,众数、中位数和平均数也各有其特性:
(1)中位数与平均数是唯一存在的,而众数是不唯一的;
(2)众数、中位数和平均数在一般情况下是各不相等,但在特殊情况下也可能相等。
具体来说,平均数、众数和中位数都是描述一组数据的集中趋势的特征数,但描述的角度和适用范围有所不同。平均数的大小与一组数据里的每个数据均有关系,其中任何数据的变动都会引起平均数的相应变动;众数着眼于对各数据出现的频数的考察,其大小只与这组数据中的部分数据有关;中位数则仅与数据的排列位置有关,某些数据的变动对中位数没有影响,当一组数据中的个别数据变动较大时,可用它来描述其集中趋势。
一般来说,平均数、中位数和钟书都是一组数据的代表,分别代表这组数据的“一般水平”、“中等水平”和“多数水平”。平均数涉及所有的数据,中位数和众数只涉及部分数据。它们互相之间可以相等也可以不相等,没有固定的大小关系。
其实,它们三者有关联也有区别。在一组数据中出现次数最多的数就是这组数据众数,众数和平均数一样,也是描述一组数据集中趋势的统计量,但它和平均数有以下两点不同:一是平均数只是一个“虚拟”的数,即一组数据的和除以该组数据的个数所得的商,而众数不是“虚拟”的数,是一组数据中出现次数最多的那个数据,是这组数据中真实存在的一个数据;二是平均数的大小与一组数据里的每个数据都有关系,任何一个数据的变动都会引起平均数大小的改变,而众数则仅与一组数据的出现的次数有关,某些数据的变动对众数没有影响,所以在一组数据中,如果个别数据变动较大,但某个数据出现的次数最多,此时用该数据(即众数)表示这组数据的“集中趋势”比较合适。
中位数和平均数一样,也是反映一组数据集中趋势的一个统计量。平均数主要反映一组数据的一般水平,中位数则更好地反映了一组数据的中等水平。它和平均数有以下不同:一是平均数只是一个“虚拟”的数,而中位数并不完全是“虚拟”数,当一组数据有奇数个时,它就是该组数据顺序排列后中间的那个数据,是这组数据中真实存在的一个数据;二是平均数的大小与一组数据里的每个数据都有关系,任何一个数据的变动都会引起平均数大小的改变,而中位数则仅与一组数据的排列位置有关,某些数据的变动对中位数没有影响,所以当一组数据的个别数据偏大或偏小时,用中位数来描述该组数据的集中趋势就比较合适。

㈤ 谁能提供一个正定协方差矩阵,6乘以6的

java 代码?

㈥ 数据处理,用C++或者Java编写,求一组数的方差均值众数标准差中位数等三十个数

1、完整代码如下:

2、debug:VS2012

3、三种值的求值方法已经写出。

4、C++的情况还是不要用数组了,有STL不用怎能说得过去。

#include<iostream>
#include<time.h>
#include<vector>
#include<map>
usingnamespacestd;
intrandNum(intrangeMin,intrangeMax)//随机数生成函数
{
returnstatic_cast<double>(rand())/(RAND_MAX+1)*(rangeMax-rangeMin+1)+rangeMin;
}
doublecalcAverage(vector<int>vec)
{
intsum=0;
for(vector<int>::iteratorvIt=vec.begin();vIt!=vec.end();vIt++)
sum+=*vIt;
cout<<"ArrayvecT'saverageis:"<<sum/vec.size()<<endl;
returnsum/vec.size();
}
doublecalcVariance(doubleaverage,vector<int>vec)
{
doublevariance=0;
for(vector<int>::iteratorvIt=vec.begin();vIt!=vec.end();vIt++)
variance+=pow((*vIt-average),2);
cout<<"ArrayvecT'svarianceis:"<<variance/vec.size()<<endl;
returnvariance/vec.size();
}
intfindMode(vector<int>vec)
{
intmodeCnt=0;//判断是复数/单数个众数
map<int,int>findMode;
map<int,int>getMode;
for(vector<int>::iteratorvIt=vec.begin();vIt!=vec.end();vIt++)
++findMode[*vIt];
intmax=findMode.begin()->second;
for(map<int,int>::iteratormIt=findMode.begin();mIt!=findMode.end();mIt++)
max=max>=mIt->second?max:mIt->second;
//测试用输出语句,没事请自行注释.
/*
for(map<int,int>::iteratormIt=findMode.begin();mIt!=findMode.end();mIt++)
cout<<mIt->first<<""<<mIt->second<<endl;
*/
//比较最大值与原map容器中的值,获得的键值对插入到新的map容器中以计算数个众数
for(map<int,int>::iteratormIt=findMode.begin();mIt!=findMode.end();mIt++)
{
if(mIt->second==max)
{
getMode.insert(*mIt);
modeCnt++;
}
}
if(modeCnt>1)
cout<<":"<<endl;
else
cout<<"Thereisonlyonemodeinthearray:"<<endl;
for(map<int,int>::iteratormIt=getMode.begin();mIt!=getMode.end();mIt++)
cout<<mIt->first<<""<<mIt->second<<endl;
return0;
}
intmain()
{
//本程序仅限整数,如果想修改成template,只要加上关键字和改一改就好了。
//Findaverage,variance,modeinarray(container)
//initializebyrandom.
srand(time(NULL));//随机数种子,头文件
vector<int>vecT;
for(inti=0;i!=30;i++)
vecT.push_back(randNum(1,30));
//initializebyinput
/*可以通过复制数据,数据会自动以空格判断是否为第二个数,现在注释掉
intvalue;
while(cin>>value)
vecT.push_back(value);
cin.clear();
*/
//callfunction
doubleaver=calcAverage(vecT);
calcVariance(aver,vecT);
findMode(vecT);
return0;
}

㈦ java中怎样编写计算方差的程序

import java.util.Scanner;
public class NumTest {
public static void main(String[] args){
double num=0;
Scanner s = new Scanner(System.in);
System.out.println("请输入你需要计算的个数:");
int n = s.nextInt();
double[] list=new double[n];
for (int i = 1; i <= n; i++) {
System.out.println("请输入第"+i+"个数:");
list[i-1]=s.nextDouble();
num+=list[i-1];
}
double mean=num/n;
double var=0;
for(double d:list){
var+=(d-mean)*(d-mean);
}
System.out.println("方差是:"+var/n);
}
}

㈧ 用java写一个求平均数,方差的程序,有输入界面,谢谢了

有输入界面?用Scanner还是Frame?
暂定以集合的方式储存吧。。。给你写实现方法。。。 自己吧数据放入集合中。。。

public double meanValue(ArrayList allNumber) {
double value = 0;

for (int i = 0; i < allNumber.size(); i++) {

value += allNumber.get(i);

}

value /= allNumber.size();

return value;

}

public double VarianceValue(ArrayList allNumber) {
double value = 0;

double variance = meanValue(allNumber);

for (int i = 0; i < allNumber.size() {

double x = (allNumber.get(i) - variance) * (allNumber.get(i) - variance);

value += x;

}

value /= allNumber.size();

return value;

}

㈨ 用OpenCV开发人脸识别软件,用Java好还是用C/C++好

一般地说,用C/C++比较“主流”些,因为C/C++编译后直接生成可执行文件,不需要虚拟机,程序性能比较好。
另一方面,无论用C/C++还是JAVA,使用 OpenCV进行开发的难度和工作量,没有太大的差异。
如果你程序追求性能,建议用C或C++

㈩ 在Java中怎么求方差和标准差

Java求方差和标准差:
public class GetAverageandStandardDevition {

private int[] array = new int[10];
private int num = 10;

public int getRandomDigit() {
return (int) (Math.random() * 1000);
}

public void getTargetDigit() {

for (int i = 0; i < num; i++) {
array[i] = getRandomDigit();
System.out.println(array[i]);
}
}

//方差
public double getAverage(){
int sum = 0;
for(int i = 0;i < num;i++){
sum += array[i];
}
return (double)(sum / num);
}

//标准差
public double getStandardDevition(){
double sum = 0;
for(int i = 0;i < num;i++){
sum += Math.sqrt(((double)array[i] -getAverage()) * (array[i] -getAverage()));
}
return (sum / (num - 1));
}

public static void main(String[] args) {

GetAverageandStandardDevition gcs = new GetAverageandStandardDevition();

gcs.getTargetDigit();
System.out.println(gcs.getAverage() + " " + gcs.getStandardDevition());

}

阅读全文

与java协方差相关的资料

热点内容
好兴动app还款怎么登录不上去了 浏览:663
郑州云服务器托管 浏览:720
服务器地址跟踪 浏览:978
免费google云服务器 浏览:516
摘译和编译的英文 浏览:359
热泵压缩机选型 浏览:121
op手机微信加密如何解除 浏览:386
如何在王牌战争找到高爆率服务器 浏览:13
江浙小学语文辅导课用什么APP 浏览:99
新梦幻大陆服务器地址 浏览:241
网吧服务器怎么更换壁纸 浏览:530
linux命令方法 浏览:332
linux下载freetype 浏览:123
程序员入驻平台 浏览:327
程序员大战外挂 浏览:745
html实例教程pdf 浏览:157
linux命令开放所有权限 浏览:575
30岁能学会编程 浏览:737
小火箭的服务器是什么 浏览:967
cad查信息命令 浏览:402