matlab練習之符合計算和符合微積分 微分、偏導、化簡、積分


 

 14 化簡

 

matlab符號表達式的化簡常用命令函數

 

pretty(f)     將符號表達式化簡成與高等數學課本上顯示符號表達式形式類似 
collect(f)     合並符號表達式的同類項 
horner(f)     將一般的符號表達式轉換成嵌套形式的符號表達式 
factor(f)     對符號表達式進行因式分解 
expand(f)     對符號表達式進行展開 
simplify(f)  對符號表達式進行化簡,它利用各種類型的代數恆等式,包括求和、
積分、三角函數、指數函數以及 Bessel 函數等來化簡符號表達式 
simple(f)  對符號表達式嘗試多種不同的算法進行化簡,以顯示長度最短的符號
表達式簡化形式 
[r,how]=simple(f)   返回的 r為符號表達式進行化簡后的形式, how為所采用的簡化方法

function y=fun(x1,x2)
syms x1 x2;
y=sin(x1).*cos(x2)+cos(x1).*sin(x2);
simplify(y)
end
-------------------------------------
ans =
 
sin(x1 + x2)

  

function y=fun(x)
syms x;
y=(4*x^2+8*x+3)/(2*x+1);
simplify(y)
end
------------------------------------
fun
 
ans =
 
2*x + 3

15、MATLAB之極限、積分、微分

1、極限:用函數limit(f,x,x0,‘left’or'right');    其中f 是定義的函數,x 是極限變量,x0是求極限的點,lift代表左極限,right代表右極限,如果省略代表求雙邊極限。

一般的單極限問題:

syms x;%這個一般是定義一個變量x;

f=sin(x)/x;%定義要求的函數;

limit(f,x,0);%sin(x)/x在0這一點處的極限。

另外,在計算極限時候會出現piecewise()這個函數,他代表分段函數。

2、微分

微分函數diff(f,n)函數,n代表對f求的階數,這里的f既可以是個函數也可以是個矩陣。如果是個矩陣的話他就是對矩陣的元素求導。

(1)、只有一個變量x

 syms x;%先定義一個變量x;

f=sin(x);%定義要求導的函數;

diff(f);%這就是對f求導函數

在進行微分時候,結果有時候需要化簡可以用simplify()函數,若果式子里邊含有分子和分母可以用numden這個函數,  [a,b]=umden(f);這個式子返回a為f 的分子,b返回f的分母。

3、積分

(1)、積分運算函數int(f,x),這代表對f里的變量x求不定積分,

int(f,x,a,b),這代表對f里的變量x求定積分。

int(int(f,x),y),這樣可以求二重積分,多層嵌套可以求多重積分。

注:int()函數可以計算解析解。

(2)、integral()函數

integral(f,a,b,'RelTol',1e-20,'Arrayvalued',true);

函數f可以設置為函數句柄的形式(f一定是單變量的函數),a,b是對應的積分上下限,RelTol這個選項對應的就是設置誤差限,在這里就相當於1e-20,ArrayValued的選項就是相當於允許向量化輸入,比如f里面有a,x兩個變量,對x進行積分,但是設置a=[1 2 3 ]這個向量時就必須設置這個選項否則結果報錯!

這里需要注意一點就是,

integral2()函數

他針對於二重積分的數值求解。

syms x
y=(x.*(exp(sin(x))+1)-2*(exp(tan(x))-1))/(sin(x)).^3
limit(y,x,0)
-----------------------------------------------
ans =
 
-1/2
 注用function無法實現
-------------------------------------------------

syms x
y=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1);
limit(y,x,-1,'right')

-----------------------------

ans =
-Inf

 15.4微分

syms a x t;
A=[a^x t^3;t*cos(x) log(x)];
y1=diff(A,x)
y2=diff(A,x,2)
y3=diff(A,x,t)
-------------------------------------
y1 =
[ a^x*log(a),   0]
[  -t*sin(x), 1/x]
y2 =
[ a^x*log(a)^2,      0]
[    -t*cos(x), -1/x^2]
y3 =
[       0, 0]
[ -sin(x), 0]

  15.5 偏導

syms x y;
f(x,y)=(x^2-2*x)*exp(-x^2-y^2-x*y)
y1(x,y)=diff(f,x)/diff(f,y)
y2(x,y)=diff(f,x,y)
y2(0,1)
------------------------------
y1(x, y) =
(exp(x^2 + x*y + y^2)*(exp(- x^2 - x*y - y^2)*(2*x - 2) + exp(- x^2 - x*y - y^2)*(- x^2 + 2*x)*(2*x + y)))/((- x^2 + 2*x)*(x + 2*y)) 
y2(x, y) =
exp(- x^2 - x*y - y^2)*(- x^2 + 2*x) - exp(- x^2 - x*y - y^2)*(2*x - 2)*(x + 2*y) - exp(- x^2 - x*y - y^2)*(- x^2 + 2*x)*(x + 2*y)*(2*x + y)
ans =
4*exp(-1)

  16 積分

syms x ;
f1=1/(1+x^4+x^8);
f2=1/((asin(x))^2*sqrt(1-x^2));
f3=(x^2+1)/(x^4+1);
f4=exp(x)*(1+exp(x))^2;
y1=int(f1,x)
y2=int(f2,x)
y3=int(f3,x,0 +inf)
y4=int(f4,x,0 ,log(2))
--------------------------------
y1 =
-(3^(1/2)*(atan((2*3^(1/2)*x)/(3*((2*x^2)/3 - 2/3))) - atanh((2*3^(1/2)*x)/(3*((2*x^2)/3 + 2/3)))))/6
y2 =
-1/asin(x)
y3 =
(pi*2^(1/2))/2 - (2^(1/2)*(atan(2^(1/2)*x*(1/2 - i/2)) + atan(2^(1/2)*x*(1/2 + i/2))))/2
y4 =
(exp(6243314768165359/9007199254740992)*(3*exp(6243314768165359/9007199254740992) + exp(6243314768165359/4503599627370496) + 3))/3 - 7/3
 

  

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM