矩阵

C博客作业05--指针

回眸只為那壹抹淺笑 提交于 2019-12-06 06:41:05
0.展示PTA总分 1.本章学习总结 1.1学习内容总结 1.指针做循环变量做法 基本做法如下: int a[10]; int *p; p=a;//指针指向a数组的首地址 fgets(a,10,stdin); for(p=a;*p!='0'&&*p!='\n',p++) { 循环结构; } 2.字符指针如何表示字符串 基本做法如下: char str[]="abc"; char *p; for(p=str;*p!='0'&&*p!='\n',p++) { 循环结构; } 3.动态内存分配 1.动态内存分配的步骤 (1)了解需要多少内存空间。 (2)利用C语言提供的动态分配函数来分配所需要的储存空间。 (3)使指针指向获得的内存空间,以便用指针在该空间内实施运算或操作。 (4)当使用完毕内存后,释放这一空间。 2.动态存储分配函数 1.malloc() 函数原型是 : void * malloc(unsigned size) 2.calloc() 函数原型是 : void * calloc(unsigned n,unsigned size) 两者的区别仅在于calloc函数在分配后还把存储块里全部初始化为0,而malloc函数不会。 3.动态存储释放函数free() 函数原型为 : void free (void * ptr) 这个函数十分关键却又经常被人遗忘

numpy pandas2

≡放荡痞女 提交于 2019-12-06 06:33:40
numpy和pandas是使用python进行数据分析的两个基本工具。numpy在线性代数中运用较多,而pandas则更多的用来分析表结构的数据。numpy与pandas都有一维和二维数据结构。 numpy的一维数组我们称之为array。定义方式如下: import numpy as np a=np.array([1,2,3,4,5]) 还有几个基本的应用: #查询元素 a[0] #切片访问 a[1:3] #循环访问 for i in a: print(i) #数据类型 a.dtype 我们可以发现List和array一维数组的样子很像,那么它们有什么区别呢? numpy之所以适用于数据分析,就是因为它具有许多List不具有的功能: (1)统计功能 #求平均值 a.mean() #求标准差 a.std() #向量相加 a=np.array([1,2,3]) b=np.array([4,5,6]) a+b a*b pandas的一维数据结构称之为series。定义方式如下: import pandas as pd stocks=pd.Series([54.74,190.9,173.14,1050.3,181.86,1139.49], index=['腾讯','阿里巴巴','苹果','谷歌','Facebook','亚马逊']) 如果说array一维数组和List比较类似

09 线性回归及矩阵运算

[亡魂溺海] 提交于 2019-12-06 06:26:37
09 线性回归及矩阵运算 线性回归 定义:通过一个或者多个自变量与因变量之间进行建模的回归分析。其中可以为一个或者多个自变量之间的线性组合。 一元线性回归:涉及到的变量只有一个 多元线性回归:变量两个或以上 通用公式:h(w) = w0 + w1x1 + w2x2 + ....= wTx 其中w,x 为矩阵:wT=(w0, w1, w2) x=(1,x1, x2)T 回归的应用场景 (连续型数据) 房价预测 销售额预测 (广告,研发成本,规模等因素) 贷款额度 线性关系模型 定义: 通过属性 (特征) 的线性组合来进行预测的函数: f(x) = w1x1 + w2x2 + w3x3 + ...... + wdxd + b w : weight (权重) b: bias (偏置项) 多个特征: (w1:房子的面积, w2:房子的位置 ..) 损失函数(误差) 《统计学习方法》 - 算法 ,策略, 优化 线性回归, 最小二乘法,正规方程 & 梯度下降 损失函数(误差大小) yi 为第i个训练样本的真实值 hw(xi)为第i个训练样本特征值组合预测函数 (预测值) 寻找最优化的w 最小二乘法之 正规方程 (直接求解到最小值,特征复杂时可能没办法求解) 求解:w= (xTx)-1 xTy X 为特征值矩阵,y为目标值矩阵 缺点: 特征过于复杂时,求解速度慢 最小二乘法之 梯度下降 使用场景

基于topsis和熵权法

不想你离开。 提交于 2019-12-06 06:21:04
1 % % X 数据矩阵 2 % % n 数据矩阵行数即评价对象数目 3 % % m 数据矩阵列数即经济指标数目 4 % % B 乘以熵权的数据矩阵 5 % % Dist_max D+ 与最大值的距离向量 6 % % Dist_min D- 与最小值的距离向量 7 % % e 熵值列表 8 % % d 信息熵冗余度 9 % % w 权值表 10 % % stand_S 归一化矩阵 11 % % sorted_S 按照降序排列的数据矩阵 12 13 %% 第一步:把数据复制到工作区,并将这个矩阵命名为X 14 clear;clc 15 load jingjizhibiao.mat; 16 17 [n,m] = size(X); 18 disp(['共有' num2str(n) '个地区, ' num2str(m) '个经济指标']) ; 19 20 21 %% 第二步:熵权法赋权 22 %%计算第j个指标下,第i个样本占该指标的比重p(i,j) 23 for i=1:n 24 for j=1:m 25 p(i,j)=X(i,j)/sum(X(:,j)); 26 end 27 end 28 %%计算第j个指标的熵值e(j) 29 k=1/log(n); 30 for j=1:m 31 e(j)=-k*sum(p(:,j).*log(p(:,j))); 32 end 33 d=ones

卷积核filter和kernal的区别

余生颓废 提交于 2019-12-06 05:43:51
在一堆 介绍卷积的帖子中,这篇特别之处在于很萌的示例配色,令人眼前一亮,当然直观也是很直观滴,保证了能在昏昏欲睡见周公子前看完。 https:// towardsdatascience.com/ types-of-convolution-kernels-simplified-f040cb307c37 直观介绍各种迷人的CNN层 一个简短的介绍 卷积使用“kernel”从输入图像中提取某些“特征” 。kernel是一个矩阵,可在图像上滑动并与输入相乘,从而以某种我们期望的方式增强输出。看下面的GIF。 上面的kernel可用于锐化图像。但是这个kernel有什么特别之处呢?考虑下图所示的两个输入图像。第一个图像,中心值为3 * 5 + 2 * -1 + 2 * -1 + 2 * -1 + 2 * -1 =7,值3增加到7。第二个图像,输出是1 * 5 + 2 * -1 + 2 * -1 + 2 * -1 + 2 * -1 = -3,值1减少到-3。显然,3和1之间的对比度增加到了7和-3,图像将更清晰锐利。 通过深层 CNN,我们无需再用手工设计的kernel来提取特征,而是可以直接学习这些可提取潜在特征的kernel值。 Kernel与Filter 在深入探讨之前,我想先明确区分“kernel”和“filter”这两个术语,因为我已经看到很多人把它们混为一谈。如前所述

python读入txt数据,并转成矩阵

拥有回忆 提交于 2019-12-06 05:41:22
txt文件的部分数据截图如下图。数据链接:https://pan.baidu.com/s/1_Ce6WLGDTWf7qQIvpP-70Q 提取码:n22a python读入该数据,并转成array,代码如下: import os import numpy as np # 数据文件转矩阵 # path: 数据文件路径 # delimiter: 行内字段分隔符 def file2array(path, delimiter): recordlist = [] fp = open(path, 'r', encoding='utf-8') content = fp.read() # content现在是一行字符串,该字符串包含文件所有内容 fp.close() rowlist = content.splitlines() # 按行转换为一维表,splitlines默认参数是‘\n’ # 逐行遍历 # 结果按分隔符分割为行向量 recordlist = [row.split(delimiter) for row in rowlist if row.strip()] return np.array(recordlist) root = 'testdata' filelist = os.listdir(root) # 获取路径下所有数据文件的文件名 for file in filelist[:-1

Numpy 常用API学习(全)

北慕城南 提交于 2019-12-06 04:59:33
Numpy 常用API学习(全) 一、介绍 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。 二、常用API 2.1.numpy.genfromtxt 从文本上读取相应的矩阵数据,delimiter是分隔符 import numpy​data = numpy.genfromtxt("data.txt",dtype=str,delimiter=",")​print(data)print(type(data))print(help(numpy.genfromtxt)) 2.2.numpy.array 将列表转换为矩阵 vector = numpy.array([5,10,15,20])matrix = numpy.array([[5,10,15],[20,25,30],[35,40,45]])print(vector)print(matrix) 2.3.vector

sku二维数组里的数组从头到尾叠加组合

a 夏天 提交于 2019-12-06 03:17:12
今天工作之余与同事聊天,要是实现一个sku描述里的字段组合的问题。并且实现了请吃饭。哈哈。一顿饭,我和另一位同事积极杠杆的。后来实现了出来。 let skuList = [ ['黑色', '白色','黄色'], ['64G', '128G', '512G'], ['大', '中', '小'], ['1', '2', '3'], ] 例如上面的组合成这样。 [ ["黑色", "64G"] ["黑色", "128G"] ["黑色", "512G"] ["白色", "64G"] ["白色", "128G"] ["白色", "512G"] ["黄色", "64G"] ["黄色", "128G"] ] 代码实现如何 function eachArr(arr1,arr2){ return arr1.map(function(item1){ return arr2.map(function(item2){ return item1 instanceof Array ? item1.concat(item2):[item1,item2]; }) }).reduce( function(accumulator, currentValue){ return accumulator.concat(currentValue) }) } [['黑色', '白色','黄色'], ['64G', '128G',