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 ...