全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
737 1
2022-12-05
各位麻烦看一下这段代码,主要程序是从网上复制过来的,但运行后不出结果,也不报错,没有得出预期效果,是有关LMDI法的代码。
Y = [
    683.797
    771.052
    858.307
    945.562
    691.993546
    798.560319
    618.1417
    597.060868
    575.98
    559.245828
    ];

X = [
    44.269485 2.568845  69.050982 10.59158 16.387396 0.2
    6.089282  26.518241 46.568799 11.02164 10.616944 9.554576
    7.819816  29.605543 9.977928  19.63986 10.129147 45.389443
    10.773496 37.005775 16.805546 15.89877 5.184039  54.612569
    13.813076 31.952529 18.836030 16.46835 5.979637  69.295338
    13.622255 41.527497 21.196864 49.89886 7.504241  79.287789
    26.181958 45.607525 25.769348 54.69660 16.733438 87.327599
    38.817035 56.778402 45.443574 57.08478 67.136404 86.981522
    53.960226 70.090550 69.267660 55.03159 55.706345 91.667016
    70.579630 97.114629 69.619592 67.20096 97.372600 79.429231

    ];

Years = (2011 : 2020)';

dertX = [];
dertX1= [];
for i = 2 : length(Y)
    curdertX = [];
    curdertX1= [];
    for j = 1 : size(X, 2)
        curdert = (Y(i) - Y(1)) / (log(Y(i) / Y(1))) * log(X(i, j) / X(1, j));

        % 0 value
        if Y(i) * Y(1) * X(i, j) * X(1, j) == 0
            curdert = 0;
        end
        if Y(i) > 0 && Y(1) == 0 && X(i, j) > 0 && X(1, j) == 0
            curdert = Y(i);
        end
        if Y(i) == 0 && Y(1) > 0 && X(i, j) == 0 && X(1, j) > 0
            curdert = -Y(1);
        end

        curdertX1 = [curdertX, curdert];
        curdertX=curdertX1;

    end
    dertX1 = [dertX; curdertX];
    dertX=dertX1;
end
outresult = [Years(2 : length(Years)), dertX];

运行后出来的结果就是文件名然后就没了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-12-5 15:04:10
我以LMDI命名这个代码,运行后结果就是这样:
>> LMDI
>>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群