当前位置: 首页 > news >正文

龙华民治网站建设揭阳企业建站程序

龙华民治网站建设,揭阳企业建站程序,管理咨询是做什么的,初级网页设计招聘matlab数据的获取、预处理、统计、可视化、降维 数据的预处理 - MATLAB Simulink - MathWorks 中国https://ww2.mathworks.cn/help/matlab/preprocessing-data.html 一、数据的获取 1.1 从Excel中获取 使用readtable() 例1#xff1a; 使用spreadsheetImportOption… matlab数据的获取、预处理、统计、可视化、降维 数据的预处理 - MATLAB Simulink - MathWorks 中国https://ww2.mathworks.cn/help/matlab/preprocessing-data.html 一、数据的获取 1.1 从Excel中获取 使用readtable() 例1 使用spreadsheetImportOptionsName,Value初步确定导入信息 再用opts.NameValue的格式添加。 % 工作簿: C:\Users\Hao\Desktop\程序_MATLAB数学建模方法与实践_卓金武等\Cha2\sz000004.xls % 工作表: Sheet1%% 设置导入选项并导入数据 opts spreadsheetImportOptions(NumVariables, 8);%变量数8 %spreadsheetImportOptions允许指定 MATLAB® 如何从电子表格文件中导入表格数据% 指定工作表和范围 opts.Sheet Sheet1; opts.DataRange A1:H45;% 指定列名称和类型 opts.VariableNames [Date, DateNum, Popen, Phigh, Plow, Pclose, Volum, Turn]; opts.VariableTypes [double, double, double, double, double, double, double, double];% 导入数据 sz000004 readtable(C:\Users\Hao\Desktop\程序_MATLAB数学建模方法与实践_卓金武等\Cha2\sz000004.xls, opts, UseExcel, false);%% 清除临时变量 clear opts 例2 先初始化spreadsheetImportOptions对象 再用opts.NameValue的格式逐个添加。 % 初始化 SpreadsheetImportOptions 对象 opts spreadsheetImportOptions; % 指定变量名称 opts.VariableNames LastName;% 变量类型 opts.VariableTypes categorical;% 数据起始单元格 opts.DataRange A2;% 使用导入选项预览文件中的八行数据 preview(patients.xls,opts) oneVar readtable(patients.xls,opts); % 列出变量及大小和类型 whos oneVar 例3 将导入信息存到变量里 再使用spreadsheetImportOptionsName,Value添加导入信息。 % 变量数 numVars 7; % 变量名称 varNames {LastName,Gender,Age,Location,Height,Weight,Smoker} ; % 变量类型 varTypes {char,categorical,int32,char,double,double,logical} ; % 数据起始单元格 dataStartLoc A2;% 使用 spreadsheetImportOptions 函数和变量信息初始化导入选项对象 opts opts spreadsheetImportOptions(NumVariables,numVars,...VariableNames,varNames,...VariableTypes,varTypes,...DataRange, dataStartLoc); % 使用导入选项预览文件中的八行数据 preview(patients.xls,opts) % 使用 readtable 导入数据 T readtable(patients.xls,opts); % 列出变量及大小和类型 whos T 注readtable 仅支持下列名称-值对组 文本和电子表格参数 - ReadVariableNames、ReadRowNames 仅文本参数 - DateLocale、Encoding 仅电子表格参数 - Sheet、UseExcel 使用xlsread()——xlswrite() axlsread(C:\Coporation_evaluation.xlsx,2,A2:I16)% C:\Coporation_evaluation.xlsx 表示读入Excel数据所在位置% 2 表示位于sheet2% A2:I16 表示读入的数据范围axlswrite(C:\Coporation_evaluation.xlsx,a,3,B1:C5)% C:\Coporation_evaluation.xlsx 表示写入Excel工作簿所在位置若不存在会自动创建% a 表示待写入的数据% 3 表示sheet3% B1:C5 表示写入Excel中的的具体位置 [data,textdata] xlsread(D:\桌面\xx.xls)读取的是什么 从文件路径为 D:\桌面\xx.xls 的 Excel 文件中读取数据并将数据存储到两个变量 data 和 textdata 中。其中xlsread() 是 MATLAB 内置函数用于读取 Excel 文件中的数据。第一个输入参数 D:\桌面\aa.xls 表示了 Excel 文件的全路径可以根据实际情况修改该值。第二个参数为空则函数默认读取所有数值型数据如果指定第二个输出参数名称如此例中的 textdata则函数会将 Excel 文件中的文本数据存储到该变量中。 假设我们有一个 Excel 文件文件路径为 D:\桌面\data.xlsx它包含以下数据 ABC11020a23040b 那么我们可以使用以下 MATLAB 代码读取该文件中的数值型和文本数据 [data, textdata] xlsread(D:\桌面\data.xlsx);执行上述代码后MATLAB 会将该 Excel 文件中的数值型数据存储到 data 变量中文本数据存储到 textdata 变量中。此时可以在 MATLAB 命令窗口中输入这两个变量名查看其内容 data 10 2030 40textdata 2×1 cell 数组{2×1 cell}{2×1 cell} textdata{1}ans a textdata{2}ans b可见MATLAB 已经成功地读取了 Excel 文件中的数据并将其存储到相应的变量中。其中textdata 变量是一个 2x1 的单元格数组每个单元格中存储了一列文本数据。我们可以使用花括号 {} 来访问单元格中的内容如 textdata{1} 访问第一列的文本数据。 1.2  从TXT中获取 使用load() % 生成线性间距向量返回包含 1 和 30 之间的 8默认100个等间距点的行向量alinspace(1,30,8); save d:\exper.txt a -ascii; bload(d:\exper.txt)% save d:\exper.txt a -ascii; 把a以ASCII码的形式存储在D盘的exper.txt中若不存在会自动创建% bload(d:\exper.txt) 读取d:\exper.txt中的数据并储存在变量b中 使用textread() [A,B,C,...]textread(filename,format,N,headerlines,M)% filename 表示txt文件名称% format 表示所读取变量的字段格式% N 表示读取的次数% headerlines 表示从第M1行开始读取 使用字面值读取以忽略匹配的字符https://blog.csdn.net/jk_101/article/details/106495696 [name,type,x,y,answer]textread(D:t.txt,%s Type%d %f %n %s,2,...headerlines,1)% 格式Type%d只显示%d,因为原数据为Type1,Type2,Type3,Type4 例如 mydata.dat 的第一行如下 Sally Type1 12.34 45 Yes 读取文件的第一行并忽略第二个字段中的字符 Type。 [names, typenum, x, y, answer] textread(mydata.dat, ... %s Type%d %f %d %s, 1) 返回 names Sally typenum 1 x 12.34000000000000 y 45 answer Yes 使用fopen() fread() fclose()  例 读取.m文件中的字符读取txt文件也可以 % 用函数fopen打开文件r代表只读形式打开w代表写入形式打开a代表在文件末尾添加内容fidfopen(D:\CRM4.m,r); % fidfopen(D:\CRM4.m,w)/fidfopen(D:\CRM4.m,a)% 以字符形式读取整个文本 varfread(fid,*char);% 将中文字段转换为相应的2字节代码否则输出可能会乱码 varnative2unicode(var) fclose(fid) 使用fprintf()写入信息到txt fprintf(file,format,a1a2...)% file 表示文件路径% format 表示数据写入类型% a 表示要写入的数据内容 1.3 从图片中获取 %% 读取图片 clc, clear, close all a1imread(000.bmp); % 获得像素矩阵行数列数 [m,n]size(a1);%% 批量读取图片 dirname ImageChips; % ImageChips文件夹files dir(fullfile(dirname, *.bmp));%% fuiifile用法 % f fullfile(myfolder,mysubfolder,myfile.m) % f myfolder/mysubfolder/myfile.m %% dir用法 % dir name 列出与 name 匹配的文件和文件夹。如果 name 为文件夹dir 列出该文件夹的内容。使用绝对 % 或相对路径名称指定 name。name 参数的文件名可以包含 * 通配符路径名称可以包含 * 和 ** 通配符。 % 与** 通配符相邻的字符必须为文件分隔符。azeros(m,n,19); % 创建全零数组19个m*n数组共19张图片 pic[]; for ii 1:length(files)filename fullfile(dirname, files(ii).name);a(:,:,ii)imread(filename); % 将该图片信息读取到a的第ii个数组里pic[pic,a(:,:,ii)]; % 拼接图像 end double(pic); figure imshow(pic,[])% imshow(I,[low high]) 显示灰度图像 I以二元素向量 [low high] 形式指定显示范围% 若为[]使用 [min(I(:)) max(I(:))] 的显示范围。换句话说I 中的最小值是黑色最大值是白色 1.4 从视频获取  使用视觉工具箱中的VideoFileReader  %% 读取视频数据 % 从视频文件中读取视频帧、图像和音频样本videoFReader vision.VideoFileReader(vippedtracking.mp4); % 播放视频文件 videoPlayer vision.VideoPlayer; while ~isDone(videoFReader) % 当来自有限数据源的数据取完时通常是因为已读取所有数据isDone(obj)返回true % ~逻辑非videoFrame step(videoFReader); % 运行videoFReader算法返回输出参数step(videoPlayer, videoFrame); % 对videoFrame运行videoPlayer算法 end release(videoPlayer); %释放资源%% 设置播放方式 % 重置播放器reset(videoFReader) % 将图形对象属性重置为其默认值 % 增加播放器的尺寸 r groot; % r groot 用于存储图形根对象的句柄。要使用圆点表示法设置根属性首先必须存储句柄 scrPos r.ScreenSize; % Size/position is always a 4-element vector: [x0 y0 dx dy] dx scrPos(3); dy scrPos(4); videoPlayer vision.VideoPlayer(Position,[dx/8, dy/8, dx*(3/4), dy*(3/4)]); % 指定左下角和右上角的坐标 while ~isDone(videoFReader)videoFrame step(videoFReader);step(videoPlayer, videoFrame); end release(videoPlayer); reset(videoFReader)%% 获取视频中的图像 videoFrame step(videoFReader); n 0; while n~15videoFrame step(videoFReader);n n1; end figure, imshow(videoFrame) % 获得第15张图像 release(videoPlayer); Matlab中fopen函数用法https://blog.csdn.net/jk_101/article/details/106494232 二、数据的预处理 数据质量三要素准确性、完整性、一致性格式不一致等 两个影响因素可信性多少是用户信赖的、可解释性 是否容易理解 数据类型的转换https://zhuanlan.zhihu.com/p/217597511  缺失值处理 一般可删除记录、数据插补和不处理。https://blog.csdn.net/yunlinzi/article/details/90300113 可插补方法方法描述均值/中位数/众数插补 根据属性值的类型 用该属性取值的平均数/中位数/众数进行插补。 使用固定值 将缺失的属性值用一个常量替换。 如广州一个工厂普通外来务工人员的“基本工资”属性的空缺值 可以用2015年广州市普通外来务工人员工资标准1895元月 该方法就是使用固定值。 最近临插补在记录中找到与缺失样本最接近的样本的该属性值插补回归方法 对带有缺失值的变量根据已有数据和与其有关的其他变量(因变量)的数据建立拟合模型来预测缺失的属性值。 插值法 插值法是利用已知点建立合适的插值函数f(x) 未知值由对应点求出的函数值f(x,)近似代替。 插值与拟合 插值与拟合的区别和联系 1、联系     都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法。 2、区别     插值问题不一定得到近似函数的表达形式仅通过插值方法找到未知点对应的值。 数据拟合要求得到一个具体的近似函数的表达式。 插值方法 选用不同类型的插值函数逼近的效果就不同一般有 1最近邻算法插值一维插值 2拉格朗日插值算法一维插值 3双线性内插算法二维插值 4分段线性插值二维插值 5三次样条插值二维插值 6克里金插值地理学 7反距离权重插值算法地理学 Matlab 实现实现分段线性插值不需要编制函数程序它自身提供了内部的功能函数https://blog.csdn.net/qq_36666756/article/details/81983385interp1(一维插值)interp2(二维)interp3(三维)intern(n维) 例从1点12点的11小时内每隔1小时测量一次温度测得的温度的数值依次为589152529313022252724试估计每隔1/10小时的温度值 hours1:12;temps[5 8 9 15 25 29 31 30 22 25 27 24];h1:0.1:12;tinterp1(hours,temps,h,spline);plot(hours,temps,,h,t,hours,temps,r:) %作图xlabel(Hour),ylabel(Degrees Celsius’) %1.先在三维坐标画出原始数据画出粗糙的温度分布曲线图.%输入以下命令x1:5; y1:3; temps[82 81 80 82 84;79 63 61 65 81;84 84 82 85 86]; mesh(x,y,temps)%2以平滑数据,在 x、y方向上每隔0.2个单位的地方进行插值.再输入以下命令: xi1:0.2:5; yi1:0.2:3; ziinterp2(x,y,temps,xi,yi,cubic); mesh(xi,yi,zi)%画出插值后的温度分布曲面图. 例 在某海域测得一些点(x,y)处的水深z由下表给出船的吃水深度为5英尺在矩形区域75200×-50150里的哪些地方船要避免进入  %1.输入插值基点数据 %2.在矩形区域(75,200)×(-50,150)进行插值。 %3. 作海底曲面图 %4.作出水深小于5的海域范围,即z5的等高线%程序一插值并作海底曲面图x [129.0 140.0 103.5 88.0 185.5 195.0 105.5 157.5 107.5 77.0 81.0 162.0 162.0 117.5 ];y [ 7.5 141.5 23.0 147.0 22.5 137.5 85.5 -6.5 -81 3.0 56.5 -66.5 84.0 -33.5 ];z [ 4 8 6 8 6 8 8 9 9 8 8 9 4 9 ];x175:1:200;y1-50:1:150;[x1,y1]meshgrid(x1,y1);z1griddata(x,y,z,x1,y1,v4);meshc(x1,y1,z1)%程序二插值并作出水深小于5的海域范围。x175:1:200;y1-50:1:150;[x1,y1]meshgrid(x1,y1);z1griddata(x,y,z,x1,y1,v4); %插值z1(z15)nan; %将水深大于5的置为nan这样绘图就不会显示出来meshc(x1,y1,z1) 异常值处理 异常值是数据集中偏离大部分数据的数据。从数据值上表现为数据集中与平均值的偏差超过两倍标准差的数据其中与平均值的偏差超过三倍标准差的数据称为高度异常的异常值。 小波异常值提取 信号的突变点和奇异点等不规则部分通常包含重要信息一般信号的奇异性分为两种情况     信号在某一时刻其幅值发生突变引起信号的非连续这种类型的突变称为第一类型的间断点      信号在外观上很光滑幅值没有发生突变但是信号的一阶微分有突变发生且一阶微分不连续这种类型的突变称为第二类型的间断点。     应用小波分析可以检测出信号中的突变点的位置、类型以及变化的幅度。 例第一类型间断点的检测 本例中信号的不连续是由于低频特征的正弦信号在后半部分突然有高频特征的正弦信号加入首先利用傅里叶变换分析对信号在频域进行分析发现无检测突变点接着利用小波分析进行分析结果证明它能够准确地检测出了信号幅值突变的位置即高频信号加入的时间点。 load freqbrk;xfreqbrk;%对信号进行傅里叶变换ffft(x,1024);fabs(f);figure;subplot(211); plot(x);subplot(212); plot(f);%使用db6小波进行6层[c,l]wavedec(x,6,’db6’);figure(2); subplot(811); plot(x); ylabel(x);%对分解的第六层低频系数进行重构awrcoef(a,c,l,db6,6); subplot(812); plot(a); ylabel(a6);for i1:6 %对分解的第6层到第1层的高频系数分别进行 dwrcoef(d,c,l,db6,7-i);subplot(8,1,i2);plot(d);ylabel([d,num2str(7-i)]); end 经验第一类突变用db6小波分解  第二类db4小波分解 load nearbrk;xnearbrk;%使用db4对信号进行2层分解[c,l]wavedec(x,2,‘db4’); subplot(411); plot(x); ylabel(x);%对分解的第六层低频系数进行重构awrcoef(a,c,l,db4,2);subplot(412); plot(a); ylabel(a2);for i1:2%对分解的第2层到第1层的高频系数进行重构awrcoef(a,c,l,db4,3-i);subplot(4,1,i2);plot(d);ylabel([d,num2str(3-i)]); end 去除首尾无效数据https://blog.csdn.net/FDA_sq/article/details/124250130 举例铣削进刀过程 信号数据的首部有铣削进刀过程导致的信号逐渐变大的数据相应的图中数据尾部有一段结束铣削退刀造成的逐渐变小的数据这两段数据为非正常铣削信号数据因此是需要人工剔除的无效数据。 原理 求取每次走刀过程首尾部无效数据的临界值每次走刀原始数据的上四分位值。原始数据的首部从前往后寻找第一个大于等于的数据作为进刀结束位置剔除前面所有小于的信号数据同理尾部从后往前寻找第一个大于等于的数据作为退刀开始位置剔除后面所有小于的数据。 %使用函数Qquantile(x,y,z) % x表示要求的矩阵或者向量y的取值为表示要求的分位数% 如四分之一中位数0.25四分之三中位数0.75等% z的取值为1或者2若值为1则表示按列求四分位数若为2表示按行求四分位数。% 为计算的上四分位值常用大小为 (1,n).%注对于向量 Q2quantile(raw_data,0.75,1)%等同于Q3 prctile(raw_data,75) 重复值剔除https://blog.csdn.net/qq_43657442/article/details/118891434 使用 unique 函数 直接删除重复行 unique(A,rows,setOrder)%其中setOrder 参数有两种取值默认是’sorted’ 即去掉重复后排序输出以第一个元素大小位依据%另一个是stable 代表去掉重复后按原来顺序输出 示例 a[1 0 1;1 0 1; 1 1 1;2 5 1; 1 1 1;0 1 2 ;0 4 5 ;0 1 2]a 1 0 11 0 11 1 12 5 11 1 10 1 20 4 50 1 2 unique(a,row,stable)ans 1 0 11 1 12 5 10 1 20 4 5 unique(a,row)ans 0 1 20 4 51 0 11 1 12 5 1 按列删除重复行 [C,ia,ic] unique(dataRed(:,1:2),rows):% 基于1、2列的数据查找dataRed中所有的唯一行。 % 指定三个输出以返回索引向量 ia 和 ic。uA dataRed(ia,:)%使用 ia 对 dataRed 进行索引并检索包含前两列中元素的唯一组合的行。 dataRed(:,1:2) 选择了 dataRed 中所有行的前两列。这通常是为了查找数据中某些列的唯一组合而不考虑其他列。rows 参数告诉 MATLAB 在比较每个行时要考虑其顺序因此只有包含相同值且相同顺序的行才会被视为相等。执行 unique 函数将前两列看作一个矩阵并返回所有唯一行的排序结果。结果分别存储在三个变量 C、ia 和 ic 中。 具体来说输出参数包含以下内容 C一个矩阵其中包含了输入矩阵的所有唯一行按首次出现顺序排列。ia一个向量其中包含了在输入矩阵中所选列的所有唯一行的索引。对于输入矩阵中的每个行ia 中的相应元素是 C 中相应行的索引。ic一个向量与输入矩阵大小相同其中包含了输入矩阵中每个行的索引以指示它在 C 中的位置。 假设有一个矩阵 dataRed 包含以下内容 dataRed [1, 2, 3;4, 5, 6;7, 8, 9;1, 2, 3;4, 5, 6];调用 unique 函数 [C,ia,ic] unique(dataRed(:,1:2),rows);然后MATLAB 将返回以下结果 C 1 24 57 8ia 123ic 12312这意味着dataRed 矩阵中前两列的唯一组合是 (1, 2)、(4, 5) 和 (7, 8)。 ia 向量包含了这些行在 C 矩阵中所处的位置 而 ic 向量指示了矩阵 dataRed 中的每个行在 C 矩阵中的位置。  matlab 找到非空的位置 去除重复数据/去除NaNhttps://blog.csdn.net/qq_20784777/article/details/126480643?utm_mediumdistribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-126480643-blog-118891434.235%5Ev35%5Epc_relevant_increate_t0_download_v2spm1001.2101.3001.4242.1utm_relevant_index3 找到非空的位置 matlab中find函数用法 https://blog.csdn.net/qq_45767476/article/details/109081132 find函数 ​idx find(isnan(data)); 用于查找一个向量或矩阵中所有包含 NaNNot-a-Number元素的下标索引。具体地说该语句执行以下步骤isnan(data)返回一个与data相同大小的逻辑数组其中包含了data中每个元素是否为NaN的信息。如果是NaN则该位置为1否则为0。find()函数获取输入参数中非零元素的下标因此对于isnan(data)返回的逻辑数组find()将会返回一个包含了所有为1的元素所在位置的下标向量。因此最终得到的结果是一个列向量idx其中包含了所有data中NaN值的下标索引。 idx find(~isnan(data));用于查找一个向量或矩阵中所有不包含 NaNNot-a-Number元素的下标索引。具体地说该语句执行以下步骤isnan(data)返回一个与data相同大小的逻辑数组其中包含了data中每个元素是否为NaN的信息。如果是NaN则该位置为1否则为0。在此语句中~运算符对逻辑数组进行求反操作即将1变为00变为1。因此得到的逻辑数组表示data中所有不是NaN的元素的位置。find()函数获取输入参数中非零元素的下标因此对于~isnan(data)返回的逻辑数组find()将会返回一个包含了所有为1的元素所在位置的下标向量。因此最终得到的结果是一个列向量idx其中包含了所有data中非NaN值的下标索引。 例如假设有一个5x5的矩阵A其中包含5个NaN值。 可以通过以下方式找到这些NaN值所在的位置 A [1 2 NaN 4 5;6 NaN 8 9 10;11 12 13 NaN 15;16 17 18 19 NaN;NaN 21 22 23 24];idx find(isnan(A))结果 idx 37122025这意味着A矩阵的第3、7、12、20和25个元素是NaN。  可以通过以下方式找到这些非NaN值所在的位置  A [1 2 NaN 4 5;6 NaN 8 9 10;11 12 13 NaN 15;16 17 18 19 NaN;NaN 21 22 23 24];idx find(~isnan(A))结果 idx 124567891011121314151617181921222324isnan()函数用法https://blog.csdn.net/Intangilble/article/details/83786589 isnanA %判断数组的元素是否是NaN。True for Not-a-Number.%用法说明 B isnan(A)%返回一个与A相同维数的数组 %若A的元素为NaN非数值在对应位置上返回逻辑1真否则返回逻辑0假。 例子 InF 代表正无穷量-InF 代表负无穷量NaN代表非数值量 isnan([pi NaN Inf -Inf])ans 1×4 logical 数组0 1 0 0[data in] unique(data(:, n)):b unique(A) b unique(A,rows) [b,m,n] unique(...)​%描述 %1、b unique(A) 返回的是和A中一样的值但是没有重复元素。产生的结果向量按升序排序。 %A可以是一个字符串的单元阵列。%2、b unique(A,rows) 返回的是A中的唯一的行数。%3、[b,m,n] unique(...) 也返回索引向量m和n使得B A(M) 和 A B(N). %m的每一个元素是最大的下标使得B A(M). 对于行的组合B A(M,:) 和 A B(N,:) 剔除异常值及平滑处理https://www.bilibili.com/read/cv9279417 使用深度学习进行“序列到序列”回归https://ww2.mathworks.cn/help/deeplearning/ug/sequence-to-sequence-regression-using-deep-learning.html
http://www.hkea.cn/news/14275980/

相关文章:

  • 东莞p2p网站开发费用宁波公司地址
  • 贵州城乡和住房建设厅网站审批电脑怎做单页网站
  • 商城网站怎么做的最近国内新闻大事20条
  • 网站建设个人简历社交媒体营销三种方式
  • 望城经开区建设开发公司门户网站怎么用支付宝做发卡网站
  • 方案案例网站ai一键生成短视频免费版
  • 创世网站建设公司在中国做国外网站
  • 2021能看的网站不要app贴吧做画册的国外网站
  • 十个实用网站网址建设网站成都
  • 笔记本怎么建设网站值得买wordpress
  • 国外营销网站政务公开网站建设意义
  • 网站建设发展的前景简洁的公司网站
  • 化妆品网站的建设方案建设部精神文明建设网站
  • 流浪动物网站开发wordpress网盘主题
  • 做网站月入7000西安北郊网站建设公司
  • 百度站长工具域名查询福州网站建设嘉艺
  • 网站域名备案转接入手续城阳网站建设电话
  • 平顶山公司网站建设爱设计网
  • asp 手机网站公司装修费用可以一次性入账吗
  • 北京手机网站建设费用wordpress 2.8
  • 织梦做的网站怎么添加关键词做公众号的网站模板
  • 网上网站代码可以下载吗南充网站建设迅达网络
  • 网站建设的一般流程.net网站开发源码
  • 哪个网站有建设需要等文件大丰seo排名
  • 海口网站建设加q.479185700网站加载页模板
  • 手机网站开发教程pdfdw做的简单的个人网站网盘
  • 网站推广排名机构为女人网上量体做衣网站
  • 精湛的企业网站建设学习网站建设的网站
  • asp网站后台无法显示该页面电影网站如何做seo
  • 网站做seo必要的结构国家电网公司人力资源招聘平台