我在 MATLAB 中撰寫了下面的代碼,以根據正弦函式的導數繪制余弦函式,但輸出圖不是我所期望的!
clear;
clc;
close all;
delta = 1e-15;
t = linspace(0, 20, 1000);
y_derived = (sin(t delta) - sin(t)) / delta;
y_expected = cos(t);
hold on
plot(y_derived)
plot(y_expected)
legend('y_{derived}', 'y_{expected}')
grid on
輸出圖是這樣的:
任何人都可以幫助我發生什么事嗎?
uj5u.com熱心網友回復:
MATLAB 繪制的正是您告訴它繪制的內容。問題在于您計算導數的方式:您的有限差分商使用delta = 1e-15非常接近機器精度eps = 2.2e-16的 a ,這就是您得到很多舍入誤差的原因。實際上,階梯式很好地顯示了您正在使用的數字型別的離散性。設定例如delta = 1e-6,它可能會看起來好多了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/462510.html
上一篇:為什么使用javascript下載后本地檔案顯示損壞?
下一篇:MATLAB向量化成對距離
