在matlab中,用兩種方法求函式sinx x cos2x

2021-08-20 18:22:25 字數 3515 閱讀 2847

1樓:匿名使用者

注意matlab裡表示式的格式,利用syms定義符號,然後利用diff函式求符號導數:y=diff(x,n),求函式x的n階導數matlab裡執行如下:syms x y dyy=sin(x)/((x^2)+4*x+3);dy=diff(y,4)執行結果有點長,這是因為你的函式求導表示式比較複雜。

2樓:匿名使用者

做個測試,希望有所幫助。

**% by lyqmath

% 在matlab中,用兩種方法求函式sinx/(x+cos2x)的數值導數,

% 並在同一個座標系中做出f(x)的影象。

clc; clear all; close all;

%% 方法1

syms x

y = sin(x)/(x + cos(2*x));

dy = diff(y);

xt = linspace(0, 2*pi);

yt = subs(dy, x, xt);

%% 方法2

yt1 = diff(subs(y, x, xt));

xt1 = diff(xt);

%% 繪圖

figure; hold on;

plot(xt, yt, 'r-', xt(2:end), yt1./xt1, 'k:');結果

matlab中,一個函式有多個自變數,怎麼分別求導並代入具體數值,舉個例子f=x1+x2+x3,分

3樓:匿名使用者

求導用diff(expr,var,order),代入數值用subs(expr,var,val)。

4樓:無與a侖比

你好!我依照你來舉得例子自,簡單編寫了一個程式,為了清晰起見,語句寫得比較簡單,你看看:

syms x1 x2 x3

f = x1^2+x2^2+x3^2;

fx1 = diff(f,x1);

fx2 = diff(f,x2);

fx3 = diff(f,x3);

x11 = input('請輸入整數x1:');

x22 = input('請輸入整數x2:');

x33 = input('請輸入整數x3:');

subs(fx1,x1,x11)

subs(fx2,x2,x22)

subs(fx3,x3,x33)

輸出的subs就是賦值之後的每一個偏導的結果,你可以試著執行一下。

diff預設對x求導,如果有好幾個x,則預設對x1求導,預設求一介導。祝好~

用matlab求函式在指定點的數值導數

5樓:深眠者

用matlab求函式在指定點的數值導數**如下:

clear;

clc;

syms x

f = sqrt(x^2+1);

diff_f = diff(f);

y1 = subs(diff_f,x,1)y2 = subs(diff_f,x,2)y3 = subs(diff_f,x,3)結果:y1 =0.7071

y2 =0.8944

y3 =0.9487

6樓:匿名使用者

clear;

clc;

syms x

f = sqrt(x^2+1);

diff_f = diff(f);

y1 = subs(diff_f,x,1)y2 = subs(diff_f,x,2)y3 = subs(diff_f,x,3)結果:y1 =

0.7071

y2 =

0.8944

y3 =

0.9487

7樓:傲super福蘭奇

如果得到的是sym格式,只需要新增double 命令就可將sym轉換為double型

這樣就可以看到數字

clear;

clc;

syms x

f = sqrt(x^2+1);

diff_f = diff(f);

y1 = double(subs(diff_f,x,1));

y2 = double(subs(diff_f,x,2));

y3 = double(subs(diff_f,x,3));

結果:y1 =

0.7071

y2 =

0.8944

y3 =

0.9487

8樓:我是幸運小當家

x=1:3

f=inline('sqrt(x.∧2+1)')dx=diff(f([x,4]))

dx=0.8219 0.9262 0.9608

怎麼用數值的方法表示一個函式的導數且用matlab表示出來?

9樓:1喲

導數就是指函式的變化率

matlab中導數命令為diff,以一元的n階導數為例,首先宣告誰是自變數,然後給出原函式,程式如下:

syms x

diff('f(x)',x,n)

10樓:匿名使用者

clear;

clc;

syms x

f = sqrt(x^2+1);

diff_f = diff(f);

y1 = subs(diff_f,x,1)y2 = subs(diff_f,x,2)y3 = subs(diff_f,x,3)結果:y1 =

0.7071

y2 =

0.8944

y3 =

0.9487

matlab新手求教如何用matlab求導及求導後代入數值計算確定點的導數值

11樓:匿名使用者

用diff()來求導函式,用eval()來計算導數值。

具體**如下:

執行結果為:

用matlab求導數的結果怎麼不是表示式,而是數值呢?

12樓:匿名使用者

daoshu=diff(sin(a*x)*cos(b*x)),裡面的單引號在求導的時候不需要,加了但引號是求差值

13樓:匿名使用者

clear all

syms x a b

daoshu=diff(sin(a*x)*cos(b*x)結果:daoshu =

cos(a*x)*a*cos(b*x)-sin(a*x)*sin(b*x)*b

這個我就納悶了,你用的是哪個版本的matlab?

14樓:1煉客

>> clear a b

>> syms x a b;

>> daoshu=diff('sin(a*x)*cos(b*x)')

daoshu =

cos(a*x)*a*cos(b*x)-sin(a*x)*sin(b*x)*b

10 1 4兩種方法,7 10 1 4兩種方法?

你好,第一種方法,可以通分以後計算 14 20 5 20 9 20 第二種方法,可以轉化成小數計算 7 10 1 4 0.7 0.25 0.45 兩種方法如下 方法一 7 10 1 4 14 20 5 20 9 20。方法二 7 10 1 4 28 40 10 40 18 40 9 20。上述方法一...

用689算24點兩種方法

9 6 8 3 8 24 8 9 6 8 3 24 解釋 這題是關於24點的問題。一般的技巧就是3 8 24,4 6 24,144 6 24等等,有時候也找過類似的題。例如 6,6,2 6 6 2 12 2 249,6,9 9 9 6 18 6 24 8 9 6 24 8 6 根號9 24 算24點...

2415簡便計算,2415簡便計算兩種方法

24 15 12 30 12 3 10 360.6 4 15 6 60 360 24 15 20x15 4x15 300 60 360 24 15 20 4 15 20 15 4 15 300 60 360 或者24 15 24 10 5 24 10 24 5 240 120 360 24 5乘3 ...