国产乱精品一区二区三区_韩国一级特黄的一级毛片_日本精品视频在线播放_欧美熟妇淫乱视频_欧美日韩在线视频中文字幕_亚洲国产精品一区久_永久免费看擁有海量影視資源_人成无码区免费aⅤ片_午夜电影在线观看国产1区_777免费视频在线观看软件

abs命令或者變量的類型發(fā)生變化導致,無法求值

標簽: 問題反饋——計算問題

邱彼鄭楠 2023-04-30 17:23:40

寫了一個自適應 Simpson 求積公式的代碼, 運行過程中出現(xiàn)了 abs命令或者變量的類型發(fā)生變化導致,無法求值 的錯誤, 如圖所示

錯誤信息.png


我寫的 adapsimp 的代碼如下

function [s, err] = adapsimp(func, a, b, tol)
    s = comsimp(func, a, b, 2);
    c = (a + b) / 2;
    s1 = comsimp(func, a, c, 2);
    s2 = comsimp(func, c, b, 2);
    s12 = s1 + s2;
    err = abs(s12 - s) / 15;
    if err < tol
        s = s12;
    else
        [s1, err1] = adapsimp(func, a, c, tol/2);
        [s2, err2] = adapsimp(func, c, b, tol/2);
        s = s1 + s2;
        err = err1 + err2;
    end
end

里面用到了 comsimp 函數(shù), 是這樣寫的

function s = comsimp(func, a, b, n)
    h = (b - a) / n;
    s0 = func(a) + func(b);
    s1 = 0;     % summation of f(x_{2k-1})
    s2 = 0;     % summation of f(x_{2k})
    for k = 1:n-1
        x = a + k * h;
        if rem(k , 2) == 0
            s2 = s2 + func(x);
        else
            s1 = s1 + func(x);
        end
    end
    s = h * (s0 + 4 * s1 + 2 * s2) / 3;
end

這部分代碼在 octave 上運行是沒有問題的

Octave運行無問題.png


用的版本是2.2.0最新版的.

1321 1 0 收藏 回復

回復

北太天元客服 2023-05-04 #1

感謝您的反饋,我們這邊查看一下問題,謝謝支持!

回復

重置 提交