数模数据处理

神经网络预测

a=[];  %输入数据
c=[];  %输出数据
temp=randperm(size(a,1));   %获取个数
p_train=a(temp(1:3000),:)';   %样本
i_train=c(temp(1:3000),:)';
p_test=a(temp(3001:end),:)'; %测试数据
i_test=c(temp(3001:end),:)';
N=size(p_test,2);

net=newff(p_train,i_train,200)  %神经网络
net.trainParam.epochs=100000;  %迭代次数
net.trainParam.goal=1e-3;    %误差大小
net.trainParam.lr=0.01;
net=train(net,p_train,i_train)   %神经网络训练
t_sim=sim(net,p_test);    
error=abs(t_sim-i_test)./i_test;   %误差
result=[i_test' t_sim' error'];   %输出结果对比

 协方差系数矩阵

a_average=sum(a)/length(a)    %取平均值
b_average=sum(b)/length(b)
c_average=sum(c)/length(c)
d_average=sum(d)/length(d)
e_average=sum(e)/length(e)
f_average=sum(f)/length(f)

%cov12相关系数
num=0;   
for i=1:4710
    t=(a(i)-a_average)*(b(i)-b_average);
    num=num+t;
end
num=num/4710;%cov
cov12=num/sqrt(var(a))/sqrt(var(b));  

#cov13相关系数
num=0;   
for i=1:4710
    t=(a(i)-a_average)*(c(i)-c_average);
    num=num+t;
end
num=num/4710;%cov
cov13=num/sqrt(var(a))/sqrt(var(c))

#cov14相关系数
num=0;   
for i=1:4710
    t=(a(i)-a_average)*(d(i)-d_average);
    num=num+t;
end
num=num/4710;%cov
cov14=num/sqrt(var(a))/sqrt(var(d))

#cov15相关系数
num=0;   
for i=1:4710
    t=(a(i)-a_average)*(e(i)-e_average);
    num=num+t;
end
num=num/4710;%cov
cov15=num/sqrt(var(a))/sqrt(var(e))

#cov16相关系数
num=0;   
for i=1:4710
    t=(a(i)-a_average)*(f(i)-f_average);
    num=num+t;
end
num=num/4710;%cov
cov16=num/sqrt(var(a))/sqrt(var(f))


#cov23相关系数
num=0;   
for i=1:4710
    t=(b(i)-b_average)*(c(i)-c_average);
    num=num+t;
end
num=num/4710;%cov
cov23=num/sqrt(var(b))/sqrt(var(c))

#cov24相关系数
num=0;   
for i=1:4710
    t=(b(i)-b_average)*(d(i)-d_average);
    num=num+t;
end
num=num/4710;%cov
cov24=num/sqrt(var(b))/sqrt(var(d))

#cov25相关系数
num=0;   
for i=1:4710
    t=(b(i)-b_average)*(e(i)-e_average);
    num=num+t;
end
num=num/4710;%cov
cov25=num/sqrt(var(b))/sqrt(var(e)

#cov26相关系数
num=0;   
for i=1:4710
    t=(b(i)-b_average)*(f(i)-f_average);
    num=num+t;
end
num=num/4710;%cov
cov26=num/sqrt(var(b))/sqrt(var(f))

#cov34相关系数
num=0;   
for i=1:4710
    t=(c(i)-c_average)*(d(i)-d_average);
    num=num+t;
end
num=num/4710;%cov
cov34=num/sqrt(var(c))/sqrt(var(d))

#cov35相关系数
num=0;   
for i=1:4710
    t=(c(i)-c_average)*(e(i)-e_average);
    num=num+t;
end
num=num/4710;%cov
cov35=num/sqrt(var(c))/sqrt(var(e))

#cov36相关系数
num=0;   
for i=1:4710
    t=(c(i)-c_average)*(f(i)-f_average);
    num=num+t;
end
num=num/4710;%cov
cov36=num/sqrt(var(c))/sqrt(var(f))

#cov45相关系数
num=0;   
for i=1:4710
    t=(d(i)-d_average)*(e(i)-e_average);
    num=num+t;
end
num=num/4710;%cov
cov45=num/sqrt(var(d))/sqrt(var(e))

#cov46相关系数
num=0;   
for i=1:4710
    t=(d(i)-d_average)*(f(i)-f_average);
    num=num+t;
end
num=num/4710;%cov
cov46=num/sqrt(var(d))/sqrt(var(f))

#cov56相关系数
num=0;   
for i=1:4710
    t=(e(i)-e_average)*(f(i)-f_average);
    num=num+t;
end
num=num/4710;%cov
cov56=num/sqrt(var(e))/sqrt(var(f))

 excel用python读写

import xlrd #读excel文件
import xlwt #写excel文件

workbook1=xlrd.open_workbook("C://Users//DELL//Desktop//自己模拟1\附件:数据//2019-2020-1期末.xlsx") #读取期末成绩excel文件
sheet11=workbook1.sheet_by_name("期末成绩") #读取期末成绩页

workbook2=xlrd.open_workbook("C://Users//DELL//Desktop//自己模拟1\附件:数据//2019-2020-1线上.xls") #读取线上成绩excel文件
sheet21=workbook2.sheet_by_name("综合完成情况")#读取综合完成情况页
sheet22=workbook2.sheet_by_name("讨论详情")#读取讨论详情页
sheet23=workbook2.sheet_by_name("成绩详情")#读取成绩详情页
sheet24=workbook2.sheet_by_name("期中成绩")#读取期中成绩页

workbook=xlwt.Workbook()# 创建新的excel文件
sheet= workbook.add_sheet("总成绩")
sheet.write(0,0,"姓名")#设置新文件的表头
sheet.write(0,1,"班级")
sheet.write(0,2,"专业")
sheet.write(0,3,"期末成绩")
sheet.write(0,4,"线上成绩")
sheet.write(0,5,"期中成绩")
sheet.write(0,6,"任务完成数")
sheet.write(0,7,"讨论数")
sheet.write(0,8,"章节学习次数")
sheet.write(0,9,"任务点完成百分比")
sheet.write(0,10,"总讨论数")
sheet.write(0,11,"发表讨论")
sheet.write(0,12,"回复讨论")
sheet.write(0,13,"建议分数")
sheet.write(0,14,"课程视频得分(30%)")
sheet.write(0,15,"课程视频进度")
sheet.write(0,16,"讨论得分(20%)")
sheet.write(0,17,"作业得分(30%)")
sheet.write(0,18,"章节学习次数得分(20%)")
sheet.write(0,19,"任务点完成百分比")

num=1
 
for i in range(1,sheet11.nrows): #行编号
    flag=0  #设置判断标志
    for j in range(1,sheet21.nrows):
        data1=sheet11.row(i)#期末成绩页
        data2=sheet21.row(j)#综合完成情况页
        data3=sheet22.row(j) #讨论详情页
        
        name1=data1[0].value #姓名1
        name2=data2[0].value #姓名2
        
        if name1==name2: #判断姓名是否相同
            for k in range(1,sheet23.nrows):
                data4=sheet23.row(k) #成绩详情页
                name3=data4[0].value #姓名3
                if name1==name3:
                    for p in range(1,sheet24.nrows):
                        data5=sheet24.row(p)  #期中成绩页
                        name4=data5[0].value #姓名4
                        if name1==name4: #判断四个姓名是否相同
                            flag=1 #改变flag为1
                            
                            sheet.write(num,0,data1[0].value)#写入姓名
                            sheet.write(num,1,data1[1].value)#写入班级
                            sheet.write(num,2,data5[1].value)#写入专业
                            
                            sheet.write(num,3,data1[2].value)#期末成绩
                            sheet.write(num,4,data4[7].value)#线上成绩
                            sheet.write(num,5,data5[2].value)#期中成绩
                            
                            sheet.write(num,6,data2[1].value)#任务完成数
                            sheet.write(num,7,data2[2].value)#讨论数
                            sheet.write(num,8,data2[3].value)#章节学习次数
                            sheet.write(num,9,data2[4].value)#任务点完成百分比
                            
                            sheet.write(num,10,data3[1].value)#总讨论数
                            sheet.write(num,11,data3[2].value)#发表讨论
                            sheet.write(num,12,data3[3].value)#回复讨论
                            sheet.write(num,13,data3[4].value)#建议分数
                            
                            sheet.write(num,14,data4[1].value)#课程视频得分(30%)
                            sheet.write(num,15,data4[2].value)#课程视频进度
                            sheet.write(num,16,data4[3].value)#讨论得分(20%)
                            sheet.write(num,17,data4[4].value)#作业得分(30%)
                            sheet.write(num,18,data4[5].value)#章节学习次数得分(20%)
                            sheet.write(num,19,data4[6].value)#任务点完成百分比
                            
                            num=num+1
                            break
                if flag==1:
                            break
        if flag==1:
            break
workbook.save("19-20第一学期综合表.xls")#保存

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值