当前位置:首页 > 学术论文 初稿
南京工程学院毕业论文
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(I-w); I=eye(size(b1)); z2=b1-I;
核心代码片段4:感应度系数函数
I=eye(size(g)); w=cell2mat(g); b1=inv(I-w); for i=1:42 S(i)=sum(b1(i,:)); end z11=S; 7
南京工程学院毕业论文
for i=1:42 s(i)=3*z11(i)/sum(z11); end
核心代码片段5:影响力系数函数
I=eye(size(g)); w=cell2mat(g); b1=inv(I-w); z9=sum(b1); for i=1:42 r(i)=3*z9(i)/sum(z9); end
在完成软件核心的10大系数进行运算和相对应的验证之后,下面所需要做的就是对数据进行存储,将所得出的结果存储在系统之外的硬件介质之上,主要是方便以后再对系数在进行分析时起到有效的帮助。下面的核心代码就是在软件系统实现将Uitable中的数据结果转储到Execl中。 核心代码片段6:数据存储
[fName, pName, index] = uiputfile('*.xls', '另存为', 'data_1.xls'); if index && strcmp(fName(end-3 : end), '.xls') str = [pName fName]; cloumnName1 = get(handles.uitable1, 'ColumnName'); rowname1='系数 '; rowName = get(handles.uitable1, 'RowName'); data1 = get(handles.uitable2, 'data');
8
南京工程学院毕业论文
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(data1); xlswrite(str, dataExcel); else dataExcel(2, 1) =cellstr(rowname1); dataExcel(1,2:end) = cloumnName1; dataExcel(2,2:43) = num2cell(data1); xlswrite(str, dataExcel); end (二)投入产出模型优化
由于投入产出是线性模型,因此与线性规划集合起来建立优化模型比较普遍。对于投入产出模型优化的作用:首先是在确定目标的前提之下选择最优方案,模型具有抉择功能。其次就是,在给定的经济条件下反应最佳的运行过程,具有仿真模拟作用。然而需要说明的是虽然这样可以预测,但是不是真正意义上的预测,而是一种附加了人们主观目标的预测,是对未来展望意义上的预测。
对于优化模型的主要意义:因为最优计划和规划按要求的比例的原则。国民经济按比例发展集中反映在生产部门之间的比例关系上,这些关系可以通过其中的投入产出模型部分加以表现,除此之外的其他基本比例关系则可以由专设的约束条件加以反映,并且所有的比例关系与目标函数有着内在的数量关系,由此保证比例的最优性。其次就是计划和规划安排从实际出发的原则。再次就是计划和规划中的经济效益的原则。最后就是该模型能最好地反映规划目标和生产。投入产出优化模型中的目标函数集中体现了这一点,目标函数是评估方案优劣的唯一尺度和标准,直接反应了计划规划活动的总目标和终极目标。
投入产出优化模型的是与规划模型结合。结合数学形式是,是将投入产出模型经过
9
南京工程学院毕业论文
处理后臵入线性规划模型的约束条件中,形成大规模的规划模型。两个模型用友共同的基础:1,均是线性;2基础变量均有非负性;3.均为矩阵运算为基础方法;4.投入产出模型可视为线性规划模型的一个特例。
最后建模步骤是:1.建立模型的方法和步骤。2.建立投入产出的数学模型。3.增加投入产出模型的变量个数。4.将投入产出的严格关系改为不等式。5.再投入产出模型意外增加不等式方程建立目标函数。最终借助线性规划的数学处理方法进而求出最优的规划和产出结果。
核心代码片段7:线性规划算法函数
delete(findobj(handles.axes3, 'Type', 'text')); strF = get(handles.editf, 'String'); matF = str2num(strF); ……(省略类似功能代码) strceq = get(handles.edit9, 'String'); matceq = str2num(strceq); l = size(matA,2); [x,S] = linprog(matF,matA,matb,matAeq,matbeq,matc,matceq);%核心算法方程 x=x'; strCell1=cell(l,1); for i=1:l str1=''; str1=[str1 'x_' num2str(i) '=' num2str(x(i)) ';']; strCell1{i,1}=str1; end text(0.1, 0.9, strCell1, 'Parent', handles.axes3); set(handles.jieguoS, 'String', sprintf('%0.4f', S)); 核心代码片段8:线性规划数组处理
10
共分享92篇相关文档