预测模型(数学建模)

article/2025/5/9 0:14:53

灰色系统

在这里插入图片描述
灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的、与时间有关的灰色过程进行预测。灰色预测对原始数据进行生成处理来寻找系统变动的规律,并生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。

GM(1,1)模型:Grey(Gray)Model

GM(1,1)是使用原始的离散非负数据列,通过一次累加生成削弱随机性的
较有规律的新的离散数据列,然后通过建立微分方程模型,得到在离散点处的解经过累减生成的原始数据的近似估计值,从而预测原始数据的后续发展。
注:第一个‘1’表示微分方程是一阶的,后面的‘1’表示只有一个变量。

GM(1,1)原理介绍

在这里插入图片描述
其中累加数据为相邻两项相加的和,紧邻均值生成序列为相邻两项相加并求均值。
在这里插入图片描述
我们利用OLS就可以得到a和b,然后就可以将灰色微分方程:在这里插入图片描述
转化为白化方程:
在这里插入图片描述
拟合值的计算:
在这里插入图片描述

准指数规律的检验

在这里插入图片描述

GM(1,1)模型的检验

1.残差检验
在这里插入图片描述
2.级比偏差检验
在这里插入图片描述

GM(1,1)模型的拓展

在这里插入图片描述

GM(1,1)模型代码的步骤

  1. 画出原始数据的时间序列图,并判断原始数据中是否有负数或期数是否低于4期,如果是的话则报错,否则执行下一步;
  2. 对一次累加后的数据进行准指数规律检验,返回两个指标:
    指标1:光滑比小于0.5的数据占比(一般要大于60%)
    指标2:除去前两个时期外,光滑比小于0.5的数据占比(一般大于90%)
    并让用户决定数据是否满足准指数规律,满足则输入1,不满足则输入0
  3. 如果上一步用户输入0,则程序停止;如果输入1,则继续下面的步骤。
  4. 让用户输入需要预测的后续期数,并判断原始数据的期数:
    4.1 数据期数为4:
    分别计算出传统的GM(1,1)模型、新信息GM(1,1)模型和新陈代谢GM(1,1)模型对于未来期数的预测结果,为了保证结果的稳健性,对三个结果求平均值作为预测值。
    4.2 数据期数为5,6或7:
    取最后两期为试验组,前面的n‐2期为训练组;用训练组的数据分别训练三种GM模型,并将训练出来的模型分别用于预测试验组的两期数据;利用试验组两期的真实数据和预测出来的两期数据,可分别计算出三个模型的SSE;选择SSE最小的模型作为我们建模的模型。
    4.3 数据期数大于7:
    取最后三期为试验组,其他的过程和4.2类似。
  5. 输出并绘制图形显示预测结果,并进行残差检验和级比偏差检验

例题

在这里插入图片描述
主函数

%%  输入原始数据并做出时间序列图
clear;clc
year =[1995:1:2004]';  % 横坐标表示年份,写成列向量的形式(加'就表示转置)
x0 = [174,179,183,189,207,234,220.5,256,270,285]';  %原始数据序列,写成列向量的形式(加'就表示转置)% 画出原始数据的时间序列图
figure(1); % 因为我们的图形不止一个,因此要设置编号
plot(year,x0,'o-'); grid on;  % 原式数据的时间序列图
set(gca,'xtick',year(1:1:end))  % 设置x轴横坐标的间隔为1
xlabel('年份');  ylabel('排污总量');  % 给坐标轴加上标签%% 因为我们要使用GM(1,1)模型,其适用于数据期数较短的非负时间序列
ERROR = 0;  % 建立一个错误指标,一旦出错就指定为1
% 判断是否有负数元素
if sum(x0<0) > 0  % x0<0返回一个逻辑数组(0-1组成),如果有数据小于0,则所在位置为1,如果原始数据均为非负数,那么这个逻辑数组中全为0,求和后也是0~disp('亲,灰色预测的时间序列中不能有负数哦')ERROR = 1;
end% 判断数据量是否太少
n = length(x0);  % 计算原始数据的长度
disp(strcat('原始数据的长度为',num2str(n)))    % strcat()是连接字符串的函数,第一讲学了,可别忘了哦
if n<=3disp('亲,数据量太小,我无能为力哦')ERROR = 1;
end% 数据太多时提示可考虑使用其他方法(不报错)
if n>10disp('亲,这么多数据量,一定要考虑使用其他的方法哦,例如ARIMA,指数平滑等')
end% 判断数据是否为列向量,如果输入的是行向量则转置为列向量
if size(x0,1) == 1x0 = x0';
end
if size(year,1) == 1year = year';
end%% 对一次累加后的数据进行准指数规律的检验(注意,这个检验有时候即使能通过,也不一定能保证预测结果非常好,例如上面的第三组数据)
if ERROR == 0   % 如果上述错误均没有发生时,才能执行下面的操作步骤disp('------------------------------------------------------------')disp('准指数规律检验')x1 = cumsum(x0);   % 生成1-AGO序列,cumsum是累加函数哦~    注意:1.0e+03 *0.1740的意思是科学计数法,10^3*0.1740 = 174rho = x0(2:end) ./ x1(1:end-1) ;   % 计算光滑度rho(k) = x0(k)/x1(k-1)% 画出光滑度的图形,并画上0.5的直线,表示临界值figure(2)plot(year(2:end),rho,'o-',[year(2),year(end)],[0.5,0.5],'-'); grid on;text(year(end-1)+0.2,0.55,'临界线')   % 在坐标(year(end-1)+0.2,0.55)上添加文本set(gca,'xtick',year(2:1:end))  % 设置x轴横坐标的间隔为1xlabel('年份');  ylabel('原始数据的光滑度');  % 给坐标轴加上标签disp(strcat('指标1:光滑比小于0.5的数据占比为',num2str(100*sum(rho<0.5)/(n-1)),'%'))disp(strcat('指标2:除去前两个时期外,光滑比小于0.5的数据占比为',num2str(100*sum(rho(3:end)<0.5)/(n-3)),'%'))disp('参考标准:指标1一般要大于60%, 指标2要大于90%,你认为本例数据可以通过检验吗?')Judge = input('你认为可以通过准指数规律的检验吗?可以通过请输入1,不能请输入0:');if Judge == 0disp('亲,灰色预测模型不适合你的数据哦~ 请考虑其他方法吧 例如ARIMA,指数平滑等')ERROR = 1;enddisp('------------------------------------------------------------')
end%% 当数据量大于4时,我们利用试验组来选择使用传统的GM(1,1)模型、新信息GM(1,1)模型还是新陈代谢GM(1,1)模型; 如果数据量等于4,那么我们直接对三种方法求一个平均来进行预测
if ERROR == 0   % 如果上述错误均没有发生时,才能执行下面的操作步骤if  n > 4  % 数据量大于4时,将数据分为训练组和试验组(根据原数据量大小n来取,n为5-7个则取最后两年为试验组,n大于7则取最后三年为试验组)disp('因为原数据的期数大于4,所以我们可以将数据组分为训练组和试验组')   % 注意,如果试验组的个数只有1个,那么三种模型的结果完全相同,因此至少要取2个试验组if n > 7test_num = 3;elsetest_num = 2;endtrain_x0 = x0(1:end-test_num);  % 训练数据disp('训练数据是: ')disp(mat2str(train_x0'))  % mat2str可以将矩阵或者向量转换为字符串显示, 这里加一撇表示转置,把列向量变成行向量方便观看test_x0 =  x0(end-test_num+1:end); % 试验数据disp('试验数据是: ')disp(mat2str(test_x0'))  % mat2str可以将矩阵或者向量转换为字符串显示disp('------------------------------------------------------------')% 使用三种模型对训练数据进行训练,返回的result就是往后预测test_num期的数据disp(' ')disp('***下面是传统的GM(1,1)模型预测的详细过程***')result1 = gm11(train_x0, test_num); %使用传统的GM(1,1)模型对训练数据,并预测后test_num期的结果disp(' ')disp('***下面是进行新信息的GM(1,1)模型预测的详细过程***')result2 = new_gm11(train_x0, test_num); %使用新信息GM(1,1)模型对训练数据,并预测后test_num期的结果disp(' ')disp('***下面是进行新陈代谢的GM(1,1)模型预测的详细过程***')result3 = metabolism_gm11(train_x0, test_num); %使用新陈代谢GM(1,1)模型对训练数据,并预测后test_num期的结果% 现在比较三种模型对于试验数据的预测结果disp(' ')disp('------------------------------------------------------------')% 绘制对试验数据进行预测的图形(对于部分数据,可能三条直线预测的结果非常接近)test_year = year(end-test_num+1:end);  % 试验组对应的年份figure(3)plot(test_year,test_x0,'o-',test_year,result1,'*-',test_year,result2,'+-',test_year,result3,'x-'); grid on;set(gca,'xtick',year(end-test_num+1): 1 :year(end))  % 设置x轴横坐标的间隔为1legend('试验组的真实数据','传统GM(1,1)预测结果','新信息GM(1,1)预测结果','新陈代谢GM(1,1)预测结果')  % 注意:如果lengend挡着了图形中的直线,那么lengend的位置可以自己手动拖动xlabel('年份');  ylabel('排污总量');  % 给坐标轴加上标签% 计算误差平方和SSESSE1 = sum((test_x0-result1).^2);SSE2 = sum((test_x0-result2).^2);SSE3 = sum((test_x0-result3).^2);disp(strcat('传统GM(1,1)对于试验组预测的误差平方和为',num2str(SSE1)))disp(strcat('新信息GM(1,1)对于试验组预测的误差平方和为',num2str(SSE2)))disp(strcat('新陈代谢GM(1,1)对于试验组预测的误差平方和为',num2str(SSE3)))if SSE1<SSE2if SSE1<SSE3choose = 1;  % SSE1最小,选择传统GM(1,1)模型elsechoose = 3;  % SSE3最小,选择新陈代谢GM(1,1)模型endelseif SSE2<SSE3choose = 2;  % SSE2最小,选择新信息GM(1,1)模型elsechoose = 3;  % SSE3最小,选择新陈代谢GM(1,1)模型endModel = {'传统GM(1,1)模型','新信息GM(1,1)模型','新陈代谢GM(1,1)模型'};disp(strcat('因为',Model(choose),'的误差平方和最小,所以我们应该选择其进行预测'))disp('------------------------------------------------------------')%% 选用误差最小的那个模型进行预测predict_num = input('请输入你要往后面预测的期数: ');% 计算使用传统GM模型的结果,用来得到另外的返回变量:x0_hat, 相对残差relative_residuals和级比偏差eta[result, x0_hat, relative_residuals, eta] = gm11(x0, predict_num);  % 先利用gm11函数得到对原数据拟合的详细结果% % 判断我们选择的是哪个模型,如果是23,则更新刚刚由模型1计算出来的预测结果if choose == 2result = new_gm11(x0, predict_num);endif choose == 3result = metabolism_gm11(x0, predict_num);end%% 输出使用最佳的模型预测出来的结果disp('------------------------------------------------------------')disp('对原始数据的拟合结果:')for i = 1:ndisp(strcat(num2str(year(i)), ' : ',num2str(x0_hat(i))))enddisp(strcat('往后预测',num2str(predict_num),'期的得到的结果:'))for i = 1:predict_numdisp(strcat(num2str(year(end)+i), ' : ',num2str(result(i))))end%% 如果只有四期数据,那么我们就没必要选择何种模型进行预测,直接对三种模型预测的结果求一个平均值~elsedisp('因为数据只有4期,因此我们直接将三种方法的结果求平均即可~')predict_num = input('请输入你要往后面预测的期数: ');disp(' ')disp('***下面是传统的GM(1,1)模型预测的详细过程***')[result1, x0_hat, relative_residuals, eta] = gm11(x0, predict_num);disp(' ')disp('***下面是进行新信息的GM(1,1)模型预测的详细过程***')result2 = new_gm11(x0, predict_num);disp(' ')disp('***下面是进行新陈代谢的GM(1,1)模型预测的详细过程***')result3 = metabolism_gm11(x0, predict_num);result = (result1+result2+result3)/3;disp('对原始数据的拟合结果:')for i = 1:ndisp(strcat(num2str(year(i)), ' : ',num2str(x0_hat(i))))enddisp(strcat('传统GM(1,1)往后预测',num2str(predict_num),'期的得到的结果:'))for i = 1:predict_numdisp(strcat(num2str(year(end)+i), ' : ',num2str(result1(i))))enddisp(strcat('新信息GM(1,1)往后预测',num2str(predict_num),'期的得到的结果:'))for i = 1:predict_numdisp(strcat(num2str(year(end)+i), ' : ',num2str(result2(i))))enddisp(strcat('新陈代谢GM(1,1)往后预测',num2str(predict_num),'期的得到的结果:'))for i = 1:predict_numdisp(strcat(num2str(year(end)+i), ' : ',num2str(result3(i))))enddisp(strcat('三种方法求平均得到的往后预测',num2str(predict_num),'期的得到的结果:'))for i = 1:predict_numdisp(strcat(num2str(year(end)+i), ' : ',num2str(result(i))))endend%% 绘制相对残差和级比偏差的图形(注意:因为是对原始数据的拟合效果评估,所以三个模型都是一样的哦~~~)figure(4)subplot(2,1,1)  % 绘制子图(将图分块)plot(year(2:end), relative_residuals,'*-'); grid on;   % 原数据中的各时期和相对残差legend('相对残差'); xlabel('年份');set(gca,'xtick',year(2:1:end))  % 设置x轴横坐标的间隔为1subplot(2,1,2)plot(year(2:end), eta,'o-'); grid on;   % 原数据中的各时期和级比偏差legend('级比偏差'); xlabel('年份');set(gca,'xtick',year(2:1:end))  % 设置x轴横坐标的间隔为1disp(' ')disp('****下面将输出对原数据拟合的评价结果***')%% 残差检验average_relative_residuals = mean(relative_residuals);  % 计算平均相对残差 mean函数用来均值disp(strcat('平均相对残差为',num2str(average_relative_residuals)))if average_relative_residuals<0.1disp('残差检验的结果表明:该模型对原数据的拟合程度非常不错')elseif average_relative_residuals<0.2disp('残差检验的结果表明:该模型对原数据的拟合程度达到一般要求')elsedisp('残差检验的结果表明:该模型对原数据的拟合程度不太好,建议使用其他模型预测')end%% 级比偏差检验average_eta = mean(eta);   % 计算平均级比偏差disp(strcat('平均级比偏差为',num2str(average_eta)))if average_eta<0.1disp('级比偏差检验的结果表明:该模型对原数据的拟合程度非常不错')elseif average_eta<0.2disp('级比偏差检验的结果表明:该模型对原数据的拟合程度达到一般要求')elsedisp('级比偏差检验的结果表明:该模型对原数据的拟合程度不太好,建议使用其他模型预测')enddisp(' ')disp('------------------------------------------------------------')%% 绘制最终的预测效果图figure(5)  % 下面绘图中的符号m:洋红色 b:蓝色plot(year,x0,'-o',  year,x0_hat,'-*m',  year(end)+1:year(end)+predict_num,result,'-*b' );   grid on;hold on;plot([year(end),year(end)+1],[x0(end),result(1)],'-*b')legend('原始数据','拟合数据','预测数据')  % 注意:如果lengend挡着了图形中的直线,那么lengend的位置可以自己手动拖动set(gca,'xtick',[year(1):1:year(end)+predict_num])  % 设置x轴横坐标的间隔为1xlabel('年份');  ylabel('排污总量');  % 给坐标轴加上标签
end

传统GM(1,1): gm11

function [result, x0_hat, relative_residuals, eta] = gm11(x0, predict_num)% 函数作用:使用传统的GM(1,1)模型对数据进行预测%     x0:要预测的原始数据%     predict_num: 向后预测的期数% 输出变量 (注意,实际调用时该函数时不一定输出全部结果,就像corrcoef函数一样~,可以只输出相关系数矩阵,也可以附带输出p值矩阵)%     result:预测值%     x0_hat:对原始数据的拟合值%     relative_residuals: 对模型进行评价时计算得到的相对残差%     eta: 对模型进行评价时计算得到的级比偏差n = length(x0); % 数据的长度x1=cumsum(x0); % 计算一次累加值z1 = (x1(1:end-1) + x1(2:end)) / 2;  % 计算紧邻均值生成数列(长度为n-1% 将从第二项开始的x0当成y,z1当成x,来进行一元回归  y = kx +by = x0(2:end); x = z1;% 下面的表达式就是第四讲拟合里面的哦~ 但是要注意,此时的样本数应该是n-1,少了一项哦k = ((n-1)*sum(x.*y)-sum(x)*sum(y))/((n-1)*sum(x.*x)-sum(x)*sum(x));b = (sum(x.*x)*sum(y)-sum(x)*sum(x.*y))/((n-1)*sum(x.*x)-sum(x)*sum(x));a = -k;  %注意:k = -a哦% 注意: -a就是发展系数,  b就是灰作用量disp('现在进行GM(1,1)预测的原始数据是: ')disp(mat2str(x0'))  % mat2str可以将矩阵或者向量转换为字符串显示disp(strcat('最小二乘法拟合得到的发展系数为',num2str(-a),',灰作用量是',num2str(b)))disp('***************分割线***************')x0_hat=zeros(n,1);  x0_hat(1)=x0(1);   % x0_hat向量用来存储对x0序列的拟合值,这里先进行初始化for m = 1: n-1x0_hat(m+1) = (1-exp(a))*(x0(1)-b/a)*exp(-a*m);endresult = zeros(predict_num,1);  % 初始化用来保存预测值的向量for i = 1: predict_numresult(i) = (1-exp(a))*(x0(1)-b/a)*exp(-a*(n+i-1)); % 带入公式直接计算end% 计算绝对残差和相对残差absolute_residuals = x0(2:end) - x0_hat(2:end);   % 从第二项开始计算绝对残差,因为第一项是相同的relative_residuals = abs(absolute_residuals) ./ x0(2:end);  % 计算相对残差,注意分子要加绝对值,而且要使用点除% 计算级比和级比偏差class_ratio = x0(2:end) ./ x0(1:end-1) ;  % 计算级比 sigma(k) = x0(k)/x0(k-1)eta = abs(1-(1-0.5*a)/(1+0.5*a)*(1./class_ratio));  % 计算级比偏差
end

新信息的GM(1,1): new_gm11

function [result] = new_gm11(x0, predict_num)
% 函数作用:使用新信息的GM(1,1)模型对数据进行预测
% 输入变量
%     x0:要预测的原始数据
%     predict_num: 向后预测的期数
% 输出变量
%     result:预测值result = zeros(predict_num,1);  % 初始化用来保存预测值的向量for i = 1 : predict_num  result(i) = gm11(x0, 1);  % 将预测一期的结果保存到result中x0 = [x0; result(i)];  % 更新x0向量,此时x0多了新的预测信息end
end

新陈代谢的GM(1,1): metabolism_gm11

function [result] = metabolism_gm11(x0, predict_num)
% 函数作用:使用新陈代谢的GM(1,1)模型对数据进行预测
% 输入变量
%     x0:要预测的原始数据
%     predict_num: 向后预测的期数
% 输出变量
%     result:预测值result = zeros(predict_num,1);  % 初始化用来保存预测值的向量for i = 1 : predict_num  result(i) = gm11(x0, 1);  % 将预测一期的结果保存到result中x0 = [x0(2:end); result(i)];  % 更新x0向量,此时x0多了新的预测信息,并且删除了最开始的那个向量end
end

http://chatgpt.dhexx.cn/article/Tw9inRUP.shtml

相关文章

【预测模型--常用度量指标】

一、MAE&#xff08;Mean Absolute Error&#xff09; 平均绝对误差MAE&#xff08;MeanAbsolute Error&#xff09;&#xff0c;即误差绝对值的平均值&#xff0c;可以准确反映实际预测误差的大小。 MAE评估的是真实值和预测值的偏离程度&#xff0c;即预测误差的实际大小。 M…

matlab符号矩阵入门

由符号对象构成的矩阵为符号矩阵&#xff1b; 可利用sym()函数直接创建&#xff1b; 矩阵各元素可以为符号常量、符号变量或者符号表达式&#xff0c;各元素长度不要求一样&#xff1b; 示例如下&#xff1b;

matlab function 矩阵,急:Simulink MATLAB function 如何实现矩阵输出

MATLAB Function是一个模copy块,但是如果你bai输入的是一个向量&#xff0c;同du样也会输zhi出一个向量的。这个dao同m文件里面编程是一样的。MATLAB Function里面只能填写一个函数名称&#xff0c;无法编写m文件。如果你需要编写m文件的话&#xff0c;可以使用Embedded MATLAB…

MATLAB小知识(三)——输出矩阵到TXT

方法一&#xff1a;dlmwrite&#xff08;验证可用&#xff09; 版权声明&#xff1a;本文为CSDN博主「大芳同学」的原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接及本声明。 原文链接&#xff1a;https://blog.csdn.net/hengyaha/artic…

MATLAB基本操作与矩阵输入

文章目录 MATLAB简介一、MATLAB界面介绍二、基础知识1. 基本符号&#xff08;Basic Symbol&#xff09;2. 数据输出格式&#xff08;Numeric Display "Format"&#xff09;3. 矩阵输入&#xff08;Vector and Matrix)4. 实用小技巧&#xff08;用于Command Window) 文…

MATLAB从入门到精通-MATLAB结构矩阵的输出

前言 在MATLAB数据处理的时候,数据通常存储在结构矩阵中,今天就给大家分享一下如何将结构矩阵中的内容完整地输出到命令行窗口中。 题目 本次讲解基于一道例题。 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30…

matlab如何使用矩阵输出结果,请问在MATLAB中如何自定义函数,输出结果为矩阵

matlab里面都是返回矩阵的&#xff0c;就是一个数它也是按11的矩阵来算的&#xff0c;所以如果你函数内部得到一个22的矩阵OUT&#xff0c;直接OUTFunction(x);就行了&#xff0c;MATLAB函数定义2113的一般规则为5261function [a,b] fun(c,d,e)函数体end其中 a,b是输出4102变量…

matlab:输出一维矩阵中所有重复元素的索引

1. 示例 Input [1,2,1,2,3]; % 1&#xff0c;3索引对应都为‘1’&#xff1b;2&#xff0c;4索引对应都为‘1’ Output same_index(Input)2. 函数 function Output same_index(Input) % Input [1,2,1,2,3]; % Output {[1;3]},{[2;4]} % 注&#xff1a;Input的输入形式为…

MATLAB将矩阵输出为txt文本格式

将m行n列的矩阵输出为文本文件&#xff0c;下面以33的矩阵为例&#xff0c;代码如下&#xff1a; data [1 2 34 5 67 8 9]; % 要输出的数据m 3; % 要输出数据的行数 n 3; % 要输出数据的列数fid fopen(D:\data.txt,wt); % 要输出…

matlab 输出矩阵 逗号,matlab 矩阵输出的数值之间同时需要字符串

matlab 矩阵输出的数值之间同时需要字符串 mip版 关注:235 答案:3 悬赏:30 解决时间 2021-01-20 04:07 已解决 2021-01-19 06:57 我用如下的程序,得到了一个115行,3列的数值矩阵, clc clear p(1:115,1:3)=zeros(115,3); p(1,1)=175; p(1,2)= p(1,1)./0.998372; p(1,3)= 1…

matlab怎么导出矩阵,matlab 如何输出矩阵?

a %注意变量a后面没有“;”号&#xff0c;即可输出disp(a) Matlab常用生成矩阵函数&#xff1a; zeros(m,n) 生成一个 m 行 n 列的零矩阵&#xff0c;mn 时可简写为 zeros(n) ones(m,n) 生成一个 m 行 n 列的元素全为 1 的矩阵, 当mn 时可写为 ones(n) eye(m,n) 生成一个主对角…

office及各类软件的图标修复

有时候我们装完软件&#xff0c;会遇到快捷方式的图标为白色的问题&#xff0c;虽然能打开运行使用&#xff0c;但是这个图标始终看的不得劲&#xff0c;这就要我们想办法去修复图标&#xff0c;让图标恢复其正常。下面介绍恢复正常图标的方法&#xff1a; 1.下载图标恢复工具 …

office图标空白异常解决方法

office图标空白异常解决方法 自动重装系统&#xff0c;装了office2016后word、Excel、PPT等图标一直是空白&#xff0c;但是不影响使用&#xff0c;觉得影响美观&#xff0c;找了许久终于找到原因所在&#xff0c;原来是这些office所在的注册表路径默认位置是之前卸载残留的WP…

Office安装找不到Office.zh-cn\***文件以及安装后无法正常显示图标

问题1&#xff1a;Office安装报错 错误详情&#xff1a;找不到Office.zh-cn\***.xml、.dll等文件 解决方法&#xff1a;把Project 2013安装包&#xff08;电脑安装过的微软办公产品&#xff09;中的”office.zh-cn、office32.zh-cn、proofing.zh-cn、osm.zh-cn"这四个文件…

卸载wps后,安装office,图标关联失败

转载地址 https://support.microsoft.com/zh-cn/help/2643673 问题描述&#xff1a; Word 程序的图标可以正常显示&#xff0c;但是 Word 文档不显示图标&#xff0c;只是空白一片。如下图所示&#xff1a; 解决方法&#xff1a; 此类问题是由于 Word 程序相关组件损坏导致&a…

excel文件修复工具_OFFICE文件图标空白的修复方法(亲测有效)

前两天,我的一位同事反馈他的电脑中OFFICE2016出现了问题,操作系统为WIN10,图标显示异常为空白,但不影响打开使用(只是该兄弟为强迫症患者,求我给修复好)。显示效果如下图: office图标显示空白 PS:造成这种情况的原因一般是装过WPS,卸载后又安装了OFFICE;又或者是win1…

visio图标文件服务器,云服务器visio图标

云服务器visio图标 内容精选 换一换 本节操作以“Windows Server 2012 R2 数据中心版 64位”操作系统为例,介绍如何通过Microsoft Remote Desktop客户端登录Windows实例。云服务器状态为“运行中”。已获取Windows云服务器用户名和密码。忘记密码请参考在控制台重置弹性云服务…

Office2013图标出现白板的解决办法

安装完Office2013之后把之前电脑里面的WPS给卸载掉了&#xff0c;但是随之问题也出现了&#xff0c;就是属于办公的文件(word、excel和ppt)等文件的图标不能正常显示&#xff0c;而是一个白板&#xff0c;但是能正常打开文件&#xff0c;虽然不影响文件的打开&#xff0c;但是感…

使用FileTypesMan修复office关联图标

文章转载自&#xff1a;https://www.jianshu.com/p/208d745f8862 另一篇参考地址&#xff1a;https://www.zhihu.com/question/37535695 使用FileTypesMan修复office关联图标 事情是这样的&#xff0c;当需要将word「所见即所得」的打印或转换成PDF。无论是「巨硬」的office 20…

Win10,Office2016及以上图标异常解决方案

方案1&#xff1a;修改打开方式 不管怎么说&#xff0c;首先重新设置一下打开方式&#xff0c;有时候问题就直接解决了&#xff0c;可能是因为曾经手动设置将打开方式定位到office安装目录的exe文件&#xff0c;虽然可以顺利打开运行&#xff0c;但图标会出现异常。 方案2&a…