“投入产出分析系统”的设计与实现毕业论文内容摘要:

所建立的投入产出模型,在此基础上,借助于计算机的软件和计算机编程将投入产出分析这个经济理论和数学方法结合的最为紧密的分析方法标准化,人性化。 同时投入产出表模型缺少直观的效果,加之相关定性系数求解过程复杂,政策模拟和产业规划模型多样,为提高投入产出模型的利用质量和效率,我们借助于 Matlab 卓越的数据处理能力,简化相关系数的求解复杂度,同时和 SQL Server 数据库的数据存储的高效简便的优势,进行直观展示,为产业决策者提南京工程学院毕业论文 6 供更为便利的软件支持。 (一) 基于 Matlab 的高效数据处理 相比较在 Matlab 对于数值计算这块的优势很明显,处理一个相关矩阵运算的效率高,然而在这个投入产出软件的开发过程中,需要有 GUI 设计,并不能直接获得一个理想的矩阵,这需要对所拿到的数据进行处理,也就是从 Execl表中读入 Matlab中 Uitable控件中,之后编写相关的函数进行运算,最终可以很快的获得相关系数。 对于具体的编程处理过程,可以参考下面的核心代码片段,根据软件设计方法,需要规范 Execl 表格,然后 Matlab 读取 Execl 中的数据,并将获取的数据展示在 Uitable 中,同时有些计算结果还要进行存储。 核心代码 片段 1:加载 Execl 数据 ○1 选择相关数据文件 :[Filename Pathname]=uigetfile({39。 *.xls39。 },39。 选择数据文件 39。 )。 ○2 定义文件地址和路径 :str=[Pathname Filename]。 ○3 Matlab读取所选文件中行列以及值 :[~, ~, raw] = xlsread(str)。 ○4 对于 Execl表中空值的处理 : for i = 1 : numel(raw) if isnan(raw{i}) raw{i} = 39。 39。 end。 end ○5 设置行列属性,将所获得的数据保存在 Uitable中 :set( , 39。 ColumnName39。 , raw(1,2:end),39。 RowName39。 , raw(2:end,1), 39。 data39。 , raw(2:end, 2:end),... 39。 ColumnEditable39。 , true)。 南京工程学院毕业论文 7 图一 在 这个软件开发设计过程中,数据处理是核心过程,关系到后面所有系数的函数的编写,借助于系数模型: ○1直接消耗系数模型。 直接消耗系数的计算方法为:用第 j产品 (或产业 )部门的总投入 Xj 去除该产品部门 (或产业 )生产经营 中所直接消耗的第 i产品部门的货物或服务的价值量 Xij,用公式表示为 : /ij ij ja X X (i,j=1,2,… ,n)。 ○2完全消耗系数模型。 第 j 产品部门每提供一个单位最终使用时,对第 i产品部门货物或服务的直接消耗和间接消耗之和。 将各产品部门的完全消耗系数用表的形式表现出来,就是完全消耗系数表或完全消耗系数矩阵,通常用字母 B 表示。 用公式表示为:B = (I − A) − 1 − I 式中的 A 为直接消耗系数矩阵, I 为 单位矩阵。 ○3感应度系数及影响力系数模型。 结合里昂剔夫逆矩阵,感应度系数用公式表示为:1 1 1( ) / )n n ni ij ijj i jn q q      (i=1,2,… ,n),影响力系数用公式表示为: 1()nj ijinq   : (i=1,2,… ,n),其中公式中 ijq 是列昂剔夫逆矩阵 (I − A) − 1 中的第 i行第 j 列的元素。 核心代码片段 2:直接消耗系数 函数 table1_data = get(,39。 data39。 )。 %获取 uitable中数据值 a=table1_data(1:42,1:42)。 %产业部门中间使用部分数据 b=table1_data(49,1:42)。 %产品部门的总投入数据 for i=1:42 %循环求职过程 for j=1:42 南京工程学院毕业论文 8 c{i,j}=a{i,j}/b{1,j}。 end end g=c。 %定义的全局变量,主要是为其他系数求解过程中调用 核心代码片段 3:完全消耗系数函数 global g。 %调用直接消耗系数全局变量 takemessage(hObject, eventdata, handles)。 I=eye(size(g))。 %矩阵处理函数 w=cell2mat(g)。 b1=inv(Iw)。 I=eye(size(b1))。 z2=b1I。 核心代码片段 4:感应度系数函数 I=eye(size(g))。 w=cell2mat(g)。 b1=inv(Iw)。 for i=1:42 S(i)=sum(b1(i,:))。 end z11=S。 南京工程学院毕业论文 9 for i=1:42 s(i)=3*z11(i)/sum(z11)。 end 核心代码片段 5:影响力系数函数 I=eye(size(g))。 w=cell2mat(g)。 b1=inv(Iw)。 z9=sum(b1)。 for i=1:42 r(i)=3*z9(i)/sum(z9)。 end 在完成软件 核心的 10大系数进行运算和相对应的验证之后, 下面 所需要做的就是对数据进行存储 ,将所得出的结果存储在系统之外的硬件介质之上,主要是方便以后再对系数在进行分析时起到有效的帮助。 下面的核心代码就是在软件系统实现将 Uitable中的数据结果转储到 Execl 中。 核心代码 片段 6: 数据存储 [fName, pName, index] = uiputfile(39。 *.xls39。 , 39。 另存为 39。 , 39。 39。 )。 if index amp。 amp。 strcmp(fName(end3 : end), 39。 .xls39。 ) str = [pName fName]。 cloumnName1 = get(, 39。 ColumnName39。 )。 rowname1=39。 系数 39。 rowName = get(, 39。 RowName39。 )。 data1 = get(, 39。 data39。 )。 南京工程学院毕业论文 10 dataExcel = cell(size(data1, 1)+8, size(data1, 2)+11)。 if size(data1, 1)1 dataExcel(2:end, 1) = rowName。 dataExcel(1,2:end) = cloumnName1。 dataExcel(2:43,2:43) = num2cell。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。