位置: IT常识 - 正文

DEMATEL-ISM模型的Python实现——方法介绍以及代码复现(dematel模型有什么缺点)

编辑:rootadmin
DEMATEL-ISM模型的Python实现——方法介绍以及代码复现 DEMATEL-ISM模型的Python实现——方法介绍以及代码复现前言DEMATEL-ISM分析方法方法简介步骤明确系统要素确定直接影响矩阵规范影响矩阵计算综合影响矩阵计算各个要素的影响度、被影响度、中心度和原因度绘制因果图确定整体影响矩阵确定可达矩阵划分层级绘制因素之间的递阶层次结构实例与代码DEMATEL-ISM计算原因-结果图节点度图ISM图后记前言

推荐整理分享DEMATEL-ISM模型的Python实现——方法介绍以及代码复现(dematel模型有什么缺点),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ism模型步骤,dematel模型有什么缺点,dea-sbm模型,ism模型步骤,dea-sbm模型,m/m/s模型,dematel-ism模型的缺点,m-shel模型,内容如对您有帮助,希望把文章链接给更多的朋友!

本文源于笔者的《系统工程》课程的小组作业,笔者尝试运用DEMATEL-ISM方法来进行分析,建模求解,但在网络上并没有找到相应的,特别是集合DEMATEL-ISM方法的代码。因此自己码了DEMATEL-ISM模型的Python代码,并作为第一个博客发布~

参考文献中,笔者主要参考了李广利等1的研究,本文也将依此论文进行方法解读和代码复现。

网上查找资料的过程中,笔者发现了一个MCDA方法的python代码库2,里面有很多多准则决策分析模型的相关代码,其中就有DEMATEL的代码,笔者做了一定的参考。

DEMATEL-ISM分析方法方法简介

DEMATEL(Decision Making Trial and Evaluation Laboratory),全称为“决策试验和评价实验法”,是一种运用图论与矩阵工具进行系统要素分析的方法,通过分析系统中各要素之间的逻辑关系与直接影响关系,可以判断要素之间关系的有无及其强弱评价。ISM(Interpretative Structural Modelling)法全称为“解释结构模型”,其特点是把复杂的系统分解为若干子系统(要素),通过代数运算将系统构造成一个多级递阶的结构模型。

DEMATEL 模型可利用矩阵运算求出因素间的因果关系和影响强度,通过可视化因素间的因果关 系,得以揭示复杂问题中的关键影响因素及影响程度;但该方法无法有效识别系统中因素的层级结 构。ISM 法则通过分析构成系统的各子系统( 因素或要素) 之间的直接二元相关关系,基于布尔代数运算等,构造多级递阶有向拓扑图,但无法确定要素对系统的影响程度。

将两种方法结合,可以识别系统中关键要素及其影响程度,并构建要素的层级结构。DEMATEL-ISM方法的过程如下:

步骤明确系统要素

明确分析系统所构成的要素,将构成系统的要素标记为x1x_1x1​, x2x_2x2​, x3x_3x3​, …\ldots…, xnx_nxn​。

确定直接影响矩阵

采用专家打分法,比较xix_ixi​对xjx_jxj​的影响,由于因素与自身比较为没有影响,直接影响矩阵的对角线值为0。通过比较得到直接影响矩阵AAA。 A=[x12⋯x1nx21⋯x2n⋮⋮⋱⋮xm1xm2…]\begin{align} A= \begin{bmatrix} 0&x_{12}&\cdots&x_{1n}\\ x_{21}&0&\cdots&x_{2n}\\ \vdots &\vdots&\ddots &\vdots \\ x_{m1}&x_{m2}&\dots &0 \end{bmatrix} \end{align}A=​0x21​⋮xm1​​x12​0⋮xm2​​⋯⋯⋱…​x1n​x2n​⋮0​​​​ 式中因素xij(i=1,2,…,m;j=1,2,…,n;i≠j)x_{ij}(i=1,2, \ldots, m;j=1,2, \ldots,n;i\neq j)xij​(i=1,2,…,m;j=1,2,…,n;i=j)表示因素xix_ixi​对xjx_jxj​的直接影响。i=ji=ji=j时,xij=x_{ij}=0xij​=0。

规范影响矩阵

归一化原始关系矩阵得到规范影响矩阵。归一化方法有很多种,这里可以采用行最大值法进行归一化,即将矩阵AAA的每一行求和,在这些值中取最大值,将矩阵AAA中元素除以最大值,得到规范直接影响矩阵BBB。 B=xijmax(∑j=1nxij)\begin{align} B=\frac{x_{ij}}{max(\sum\limits_{j=1}^n x_{ij})} \end{align}B=max(j=1∑n​xij​)xij​​​​

计算综合影响矩阵

综合系统矩阵体现系统中各个元素间的影响的综合效应,规范影响矩阵不断自乘后矩阵的所有值会趋近于0,即lim⁡k→∞Bk=\lim\limits_{k \to \infty} B^k=0k→∞lim​Bk=0。计算综合影响矩阵时,得到 T=(B+B2+⋯+Bk)=∑k=1∞Bk=B(I−B)−1\begin{align} T=(B+B^2+\dots +B^k)=\sum\limits_{k=1}^\infty B^k=B(I-B)^{-1} \end{align}T=(B+B2+⋯+Bk)=k=1∑∞​Bk=B(I−B)−1​​ 式中为III单位矩阵。

计算各个要素的影响度、被影响度、中心度和原因度

影响度指矩阵TTT中各行值和,表示各行要素对其他所有要素的综合影响值,记作DiD_iDi​,有: Di=∑j=1nxij,(i=1,2,…,n)\begin{align} D_i=\sum\limits_{j=1}^n x_{ij},(i=1,2,\dots,n) \end{align}Di​=j=1∑n​xij​,(i=1,2,…,n)​​ 被影响度指矩阵TTT中各列值和,表示各列要素对其他所有要素的综合影响值,记作CiC_iCi​,有: Ci=∑j=1nxji,(i=1,2,…,n)\begin{align} C_i=\sum\limits_{j=1}^n x_{ji},(i=1,2,\dots,n) \end{align}Ci​=j=1∑n​xji​,(i=1,2,…,n)​​ 中心度表示因素在评价体系中的位置及其所起作用的大小,某要素的中心度为其影响度于被影响度之和,记作MiM_iMi​,有: Mi=Di+Ci\begin{align} M_i=D_i+C_i \end{align}Mi​=Di​+Ci​​​ 原因度由某要素的影响度和被影响度相减得到,记作,有: Ri=Di−Ci\begin{align} R_i=D_i-C_i \end{align}Ri​=Di​−Ci​​​ 当原因度大于0时,表示该要素对其他要素的影响程度大,称其为原因要素,当原因度小于0时,该要素为结果要素。

绘制因果图DEMATEL-ISM模型的Python实现——方法介绍以及代码复现(dematel模型有什么缺点)

将中心度MiM_iMi​为横坐标,将原因度RiR_iRi​作为纵坐标,绘制因果关系图。该图可以直观体现因果关系。

确定整体影响矩阵

整体影响矩阵由综合影响矩阵和单位矩阵相加得到。

确定可达矩阵

确定可达矩阵时需要引入一个阈值λ\lambdaλ以剔除因素之间影响程度较小的关系,从而明确层级结构的划分。引入阈值λ\lambdaλ对整体影响矩阵EEE进行处理,可以得到可达矩阵FFF。则有: fij={1eij≥λ(i,j=1,2,…,n)eij<λ(i,j=1,2,…,n)\begin{equation} f_{ij}= \begin{cases} 1 & & {e_{ij}\geq\lambda(i,j=1,2,\dots,n)}\\ 0 & & {e_{ij}<\lambda(i,j=1,2,\dots,n)} \end{cases} \end{equation}fij​={10​​eij​≥λ(i,j=1,2,…,n)eij​<λ(i,j=1,2,…,n)​​​

划分层级

由可达矩阵FFF的第iii行上值为1的列对应的因素求得可达集R(x1)={xi∣Fij=1}R(x_1)=\{x_i|F_{ij} =1\}R(x1​)={xi​∣Fij​=1},表示从因素xix_ixi​出发可以达到的全部因素的合集,由可达矩阵FFF的第iii列上值为1的行对应的因素求得先行集S(x1)={xi∣Fji=1}S(x_1)=\{x_i|F_{ji} =1\}S(x1​)={xi​∣Fji​=1},表示可以达到因素的全部因素的合集。如果R(x1)R(x_1)R(x1​)和S(x1)S(x_1)S(x1​)满足R(x1)∩S(x1)=R(x1)R(x_1)\cap S(x_1)=R(x_1)R(x1​)∩S(x1​)=R(x1​),则表示中对应的元素均能在中找到前因,将该元素称为高层级的元素。然后从可达矩阵中去除对应的行和列,再从矩阵中抽取最高级的因素,不断重复该过程,直到所有的行和列均被去除。

绘制因素之间的递阶层次结构

根据去除因素的顺序,绘制系统要素间多级递阶有向拓扑图。

实例与代码DEMATEL-ISM计算

这里笔者直接给出一组数据,10项因素,直接影响矩阵AAA如下。

下面是DEMETAL-ISM计算的Python代码:

#导入所需库import numpy as npimport pandas as pd#直接影响矩阵AA = np.array([[0, 2, 0, 2, 3, 2, 3, 2, 3, 2], [0, 0, 0, 1, 3, 2, 0, 1, 1, 2], [0, 1, 0, 0, 2, 1, 0, 0, 0, 1], [0, 2, 0, 0, 3, 2, 0, 0, 0, 1], [1, 3, 0, 2, 0, 1, 1, 0, 1, 1], [0, 2, 0, 2, 1, 0, 1, 1, 0, 2], [2, 2, 0, 0, 2, 1, 0, 1, 2, 1], [0, 2, 0, 0, 1, 1, 1, 0, 1, 2], [3, 2, 0, 1, 2, 2, 2, 2, 0, 1], [0, 2, 0, 0, 1, 2, 1, 1, 2, 0]])#行和最大值归一化,得到规范影响矩阵Brow_sum = np.sum(A, axis = 1)max_sum = np.max(row_sum)B = A/max_sum#综合影响矩阵TT = np.matmul (B, np.linalg.inv(np.identity(A.shape[0]) - B))#计算影响度D,被影响度C,中心度M,原因度RD = np.sum(T, axis = 1)C = np.sum(T, axis = 0)M = D + CR = D - C#判断输出结果要素和原因要素causal_factors = ''result_factors = ''for i in range(len(R)): if R[i] > 0: causal_factors = causal_factors + 'x' + str(i + 1) + ' ' elif R[i] < 0: result_factors = result_factors + 'x' + str(i + 1) + ' 'print("原因要素:" + causal_factors)print("结果要素:" + result_factors)#使用相应的lambda值计算可达矩阵F,并输出节点度排序E = T + np.identity(A.shape[0])lbd = 0.20 # 相应的lambda值F = Efor i in range(A.shape[0]): for j in range(A.shape[1]): if E[i, j] > lbd: F[i,j] = 1 elif E[i, j] < lbd: F[i, j] = 0node_degree = np.sum(F, axis = 0) + np.sum(F, axis = 1)print(sorted(node_degree, reverse=True))

上面代码计算出的一些矩阵和值比较重要,如综合影响矩阵TTT,被影响度CCC、影响度DDD、原因度MMM、中心度RRR等,数据在下面的画图也有用的,笔者在此没有输出,在做研究的过程中可以用pandas库将相应的值输出到excel表中。 λ\lambdaλ的取值也很关键,具体取何值下文有说明,这里取0.20,得到最后的可达矩阵如下图所示。

原因-结果图

接下来运用上文计算的结果,绘制原因-结果图,这张图可以看到各个因子之间互相影响的大小,以及对研究内容影响的大小,如下图所示。 第1类为强原因因子集(第Ⅰ区),这类因子对研究对象的形成具有非常显著的影响,且对其他结果型因子有较大的影响;第2类为弱原因因子集(第Ⅱ区),这类因子对研究对象的形成也具有重要影响,对其他结果型因子也有一定的影响;第3类为弱结果因子集(第Ⅲ区),这类因子是其他原因型因子综合作用的结果,对研究对象的形成具有一定的影响;第4类为强结果因子集(第Ⅳ区),这类因子也是其他原因型因子综合作用的结果,但是对研究对象的形成具有非常重要的影响。DEMATEL计算所得因子中心度越大,其影响程度也就越大,因此,需要重点关注第Ⅰ区的强原因因子集及第Ⅳ区的强结果因子集。

下面是原因-结果图的代码,为了图形美观,笔者代码水平也很有限,所以做了大量的调整,大家可以看着自己来。

import matplotlib as mplimport matplotlib.pyplot as plt#设置图形格式config = { "font.family": 'serif', "font.size": 14, "mathtext.fontset": 'stix', "font.serif": ['SimSun'], 'axes.unicode_minus': False }mpl.rcParams.update(config)#x轴为上文计算出的中心度x = [2.9456079466124003, 3.243636237536544, 0.5565493379272154, 1.9429001271455832, 3.205862930468748, 2.627384244237508, 2.4431692291267364, 1.891879956077375, 3.017054245988732, 2.609503379763571]y = [1.5128414543332274, -0.9939990519336557, 0.5565493379272154, -0.1661886145842798, -0.8173828786366384, -0.6568575842419181, 0.3753242725311403, -0.015046149922503416, 0.6625117023194962, -0.4577524877920831]#因子名factors_name = [r'$x_1$', r'$x_2$', r'$x_3$', r'$x_4$', r'$x_5$', r'$x_6$', r'$x_7$', r'$x_8$', r'$x_9$', r'$x_{10}$']#画散点图,并增加相应名称、线段和调整大小和位置plt.scatter(x, y, s=3, c='k')plt.xlabel('中心度')plt.ylabel('原因度')for i in range(len(x)): if i == 0: plt.text(x[i]+0.025, y[i]-0.085, factors_name[i], fontsize=17) elif i == 3: plt.text(x[i]+0.025, y[i]-0.1, factors_name[i], fontsize=17) elif i == 6: plt.text(x[i]-0.18, y[i]-0.1, factors_name[i], fontsize=17) elif i == 7: plt.text(x[i]-0.15, y[i]-0.12, factors_name[i], fontsize=17) else: plt.text(x[i]+0.025, y[i]+0.025, factors_name[i], fontsize=17)plt.vlines(sum(x)/len(x), -1.55, 1.55, colors='k', linestyles='dashed')plt.hlines(0, sum(x)/len(x)-2, sum(x)/len(x)+2, colors='k', linestyles='dashed')plt.xlim(sum(x)/len(x)-2, sum(x)/len(x)+2)plt.ylim(-1.55, 1.55)plt.text(sum(x)/len(x)+2-0.2, 1.4-0.1, 'Ⅰ')plt.text(sum(x)/len(x)-2+0.1, 1.4-0.1, 'Ⅱ')plt.text(sum(x)/len(x)-2+0.1, -1.55+0.1, 'Ⅲ')plt.text(sum(x)/len(x)+2-0.2, -1.55+0.1, 'Ⅳ')plt.show()节点度图

可达矩阵中每个因素所在行与所在列的和称为该因素的节点度,将各阈值对应的节点度由大到小排列,可得到不同阈值下疫情下大学生焦虑情绪形成因子的节点度衰减散点图。 为了得到可达矩阵,需要引入阈值剔除影响程度较小的关系,λ\lambdaλ通常通过经验取值比较。这里分别取0.18、0.20、0.24和0.27 相应代码如下:

import matplotlib as mplimport matplotlib.pyplot as plt#设置图片格式config = { "font.family": 'serif', "font.size": 14, "mathtext.fontset": 'stix', "font.serif": ['SimSun'], 'axes.unicode_minus': False }mpl.rcParams.update(config)#x轴为递增的整数,y轴分别为不同lambda值时候的节点度,节点度在上文代码中可以算出x = list(range(1, 11))y_1 = [13.0, 12.0, 12.0, 11.0, 10.0, 10.0, 9.0, 7.0, 6.0, 2.0] # lbd = 0.15y_2 = [12.0, 11.0, 11.0, 8.0, 7.0, 7.0, 6.0, 5.0, 5.0, 2.0] # lbd = 0.18y_3 = [11.0, 8.0, 8.0, 7.0, 5.0, 4.0, 4.0, 4.0, 3.0, 2.0] # lbd = 0.20y_4 = [8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 3.0, 2.0, 2.0, 2.0] # lbd = 0.24#画图plt.plot(x, y_1, marker='o', linestyle='-', label='λ=0.15', linewidth=1, color='black')plt.plot(x, y_2, marker='x', linestyle='-', label='λ=0.18', linewidth=1, color='black')plt.plot(x, y_3, marker='*', linestyle='-', label='λ=0.20', linewidth=1, color='black')plt.plot(x, y_4, marker='D', linestyle='-', label='λ=0.24', linewidth=1, color='black')plt.legend()plt.xlabel("序号")plt.ylabel("节点度")plt.show()ISM图

通过最后的步骤可以做出系统要素间多级递阶有向拓扑图,这里就不展示了,根据步骤即刻得到之间的关系并作图。

后记

DEMATEL-ISM模型,更多只是矩阵间的相互计算,想要得出结果还是比较容易的。 它可以用来分析因子间的相互关系,做出阶梯式的关系模型图,但是也有主观性强等的缺点。 因为笔者水平有限,所以分析和代码可能不尽人意,多多包含~


李广利,严一知,刘文琦,陈耀光,吴泽玉.基于DEMATEL-ISM的矿工不安全情绪形成因子研究[J]…中国安全科学学报,2021,31(07):30-37.DOI:10.16265/j.cnki.issn1003-3033.2021.07.005. ↩︎

A python library for MCDA methods. ↩︎

本文链接地址:https://www.jiuchutong.com/zhishi/299645.html 转载请保留说明!

上一篇:HTML+CSS简单漫画网页设计成品 蜡笔小新3页 大学生个人HTML网页制作作品(html动画教程)

下一篇:【中秋快乐】如何用three.js实现我的太空遐想3D网页(中秋快乐的祝福语怎么说)

  • 支付宝怎么自动转入余额宝(支付宝怎么自动转入银行卡)

    支付宝怎么自动转入余额宝(支付宝怎么自动转入银行卡)

  • 表格怎么自动导入对应数据(表格怎么自动导入数据)

    表格怎么自动导入对应数据(表格怎么自动导入数据)

  • 支付宝里程兑换在哪里(支付宝里程兑换的礼品物流)

    支付宝里程兑换在哪里(支付宝里程兑换的礼品物流)

  • vivo手机的wifi二维码在哪里(vivowifi在哪里)

    vivo手机的wifi二维码在哪里(vivowifi在哪里)

  • 华为荣耀8x是5g手机吗(华为荣耀8X是什么型号)

    华为荣耀8x是5g手机吗(华为荣耀8X是什么型号)

  • 电脑亮度怎么调(电脑亮度怎么调节?win7快捷键)

    电脑亮度怎么调(电脑亮度怎么调节?win7快捷键)

  • 苹果手机拉黑对方电话提示音是什么(苹果手机拉黑对方短信在哪看)

    苹果手机拉黑对方电话提示音是什么(苹果手机拉黑对方短信在哪看)

  • 拼多多怎么添加好友申请(拼多多怎么添加地址)

    拼多多怎么添加好友申请(拼多多怎么添加地址)

  • 苹果6s的尺寸和6的尺寸是一样的吗(苹果手机6s尺寸分别是什么)

    苹果6s的尺寸和6的尺寸是一样的吗(苹果手机6s尺寸分别是什么)

  • 荣耀play3电池多少毫安(荣耀play3电池多大)

    荣耀play3电池多少毫安(荣耀play3电池多大)

  • 微信黑夜模式在哪里关闭(微信黑夜模式在哪里开苹果手机)

    微信黑夜模式在哪里关闭(微信黑夜模式在哪里开苹果手机)

  • qq视频怎么最小化(qq视频时怎么缩小视频画面)

    qq视频怎么最小化(qq视频时怎么缩小视频画面)

  • ctrl shift是什么快捷键(ctrl shift是什么键)

    ctrl shift是什么快捷键(ctrl shift是什么键)

  • 文件系统阶段的主要特点(文件系统阶段的特点有?)

    文件系统阶段的主要特点(文件系统阶段的特点有?)

  • 20kb的照片像素是多少(20kb的照片像素高度和宽度是多少)

    20kb的照片像素是多少(20kb的照片像素高度和宽度是多少)

  • 苹果语音备忘录怎么循环播放(苹果语音备忘录在哪里)

    苹果语音备忘录怎么循环播放(苹果语音备忘录在哪里)

  • 路由器老化症状(路由器老化的表现)

    路由器老化症状(路由器老化的表现)

  • 手机pages文件怎么打开(手机pages文稿怎么打开)

    手机pages文件怎么打开(手机pages文稿怎么打开)

  • 怎么把视频做成锁屏壁纸(怎么把视频做成表情包)

    怎么把视频做成锁屏壁纸(怎么把视频做成表情包)

  • 淘宝自动回复怎么设置(淘宝自动回复怎么留微信)

    淘宝自动回复怎么设置(淘宝自动回复怎么留微信)

  • 淘宝野生小伙伴在哪里

    淘宝野生小伙伴在哪里

  • 苹果手机下滑通知栏怎么没了(苹果手机下滑通知中心为什么看不到下面的)

    苹果手机下滑通知栏怎么没了(苹果手机下滑通知中心为什么看不到下面的)

  • word2010设置页码奇偶不同(word2010设置页码格式对话框)

    word2010设置页码奇偶不同(word2010设置页码格式对话框)

  • 抖音有网页版吗(抖音网页版官网)

    抖音有网页版吗(抖音网页版官网)

  • 翻译: 详细图解Transformer多头自注意力机制 Attention Is All You Need(图幅翻译)

    翻译: 详细图解Transformer多头自注意力机制 Attention Is All You Need(图幅翻译)

  • 帝国cms如何实现当前栏目高亮(帝国cms教程官方完整版)

    帝国cms如何实现当前栏目高亮(帝国cms教程官方完整版)

  • 存续小微企业
  • 新公司实收资本
  • 小规模销售免税农产品的分录
  • 什么是资本性支出和支出
  • 开发票税前税后
  • 企业所得税研发费用100%扣除的有哪些企业
  • 其他应收款账户期初借方余额为35400
  • 高温补贴领取
  • 工伤抚恤金算遗产吗
  • 开了红字发票印花税怎么处理?
  • 少交了增值税怎么补
  • 移动电子发票怎么发送到邮箱
  • 关于劳务派遣服务外包的案例
  • 社保滞纳金税前怎么算
  • 退休人员取得单位证明
  • 装修费算固定资产吗?
  • 建筑行业暂估成本的账务处理
  • 免税的发票可以用来抵税吗
  • 劳务公司客户问题分析
  • 个人独资企业查账征收个人所得税汇算清缴
  • 滴滴开的发票能否抵扣进项税
  • 零售价法会计分录
  • 该内存不能为read,要终止程序
  • 华为mate手机sim卡怎么插
  • 计提的跌价准备销售时怎么处理
  • 捷波主板141m
  • 农业企业出租厂房需要交税吗
  • 组成计税价格用来算什么
  • ahc软件进不去
  • 纳税人转让不动产增值税征收管理暂行办
  • 绿萝怎么扦插?
  • vue前端开发规范
  • PHP:imagecolordeallocate()的用法_GD库图像处理函数
  • 涨点是什么意思
  • php图片识别处理归类
  • 六自由度机器人简图
  • Vue3通透教程【三】Vue3代码初体验找不同
  • dnf指令键&怎么设置
  • 微信随机红包表情包怎么弄
  • 进出口会计账务处理
  • 销售折让怎么核算成本
  • 招待费进项转出填表二哪里
  • 盘盈材料会计分录
  • 电子章打印不来
  • 一般纳税人增值税可以抵扣吗
  • 汇款退回多久到账
  • 递延所得税怎么计算
  • 社保年审流程示意图
  • 公司帐户转到法人帐户用途写备用金行吗
  • 政府补助的内容
  • 商誉是成本法还是收入法
  • 发票收款人和复核人可以是一个人吗
  • 冲销暂估入账用什么凭证
  • 广告牌制作计入什么科目
  • 有差价的商品发票怎么开
  • 税盘进项税额怎么做
  • 防伪税控服务费怎么交
  • 计提附加税金额
  • 建筑行业项目经理的岗位职责
  • 主营业务收入和库存商品怎么区分
  • 盈余公积的构成
  • 完美解决usb供电不足
  • mysql事务视图
  • 组策略0x800704ec
  • java开发经常出差合理吗
  • Linux x86_64下安装Flash Player 9
  • linux urb
  • win8图标放桌面
  • windows8无法安装wps
  • linux如何限制指定ip访问
  • node modules干嘛的
  • js 列表
  • linux终端命令行和输出在一行
  • activity间数据传递
  • javascript数学函数
  • javascript参考书
  • nodejs image
  • js获取节点值
  • [置顶] [Android Studio 权威教程]AS添加第三方库的6种方式(Jar,module,so等)
  • 辽宁省农村合作医疗2024怎么缴费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设