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
胚胎移植的兩種方法
務青芬御羅 a 胚胎移植常採用如術法和非如術法兩種方法,a正確 b 胚胎移植時,對供體 受體要進行選擇,選擇遺傳特性和生產效能優秀的供體,有健康的體質和正常繁殖能力的受體,b正確 c 受體對移入子宮的外來胚胎不發生免疫排斥反應,因此不需要對供體和受體進行免疫檢查,c錯誤 d 胚胎移植時,需用激素對供...
3 72 90 37 2用兩種方法簡易?
巧算過程。解題思路 四則運算規則 按順序計算,先算乘除後算加減,有括號先算括號,有乘方先算乘方 即脫式運算 遞等式計算 需在該原則前提下進行。解題過程 擴充套件資料 豎式計算 計算結果 先將兩乘數末位對齊,然後分別使用第二個乘數,由末位起對每一位數依次乘上一個乘數,最後將所計算結果累加即為乘積,如果...
3 72 90 37 2用兩種方法簡便?
巧算解題思路 四則運算規則 按順序計算,先算乘除後算加減,有括號先算括號,有乘方先算乘方 即脫式運算 遞等式計算 需在該原則前提下進行。解題過程 擴充套件資料 豎式計算 先將兩乘數末位對齊,然後分別使用第二個乘數,由末位起對每一位數依次乘上一個乘數,最後將所計算結果累加即為乘積,如果乘數為小數可先將其擴...