MATLAB實驗報告三

2022-09-05 10:51:03 字數 5200 閱讀 5006

實驗三matlab的符號計算

一、 實驗目的

掌握符號變數和符號表示式的構造方法和運算方法,練使用常用的函式進行計算。

二、 實驗內容

1.驗證本章所舉例子

例4.1

>> a=sym('sin(2)')

a =sin(2)

例4.2

>> a=sym(sin(2))

a =8190223105242182*2^(-53)

例4.3

>> a1=2*sqrt(5)+pi

a1 =

7.6137

>> a2=sym('2*sqrt(5)+pi')

a2 =

2*sqrt(5)+pi

>> a3=sym(2*sqrt(5)+pi)

a3 =

8572296331135796*2^(-50)

>> a4=sym(2*sqrt(5)+pi,'d')

a4 =

7.613728608589372726100918953307

例4.4

>> x=sym('x','real');

>> y=sym('y','real');

>> z=x+i*y;

>> real(z)

ans = x

>> x=sym('x','unreal');

>> real(z)

ans =

x/2 + conj(x)/2

例4.5

>> syms n x;

>> f=x^n;

>> findsym(f,1)

ans =

x例4.6

>> f='exp(x)'

f =exp(x)

>> f='a*x^3+b*x^2+c*x+d=0'

f =a*x^3+b*x^2+c*x+d=0

例4.7

>> f=sym('a*x^2+b*x+c=0')

f =a*x^2+b*x+c=0

例4.8

>> syms x y u;

>> f=exp(x*y/u)

f =exp((x*y)/u)

>> symvar('cos(x*pi)+u')

ans =

'u''x'例4.9

>> syms x a

>> v=[(1+a/x)^x,exp(-x);sin(a+x),cos(a+x)];

>> limit(v,x,0,'left')

ans =

[ 1, 1]

[ sin(a), cos(a)]

例4.10

>> x=sym('x');

>> diff(sin(x^2))

ans =

2*x*cos(x^2)

例4.11

>> syms x

>> int(1/(1+x^2))

ans =

atan(x)

例4.12

>> syms k

>> symsum(1/k^2,1,inf)

ans =

pi^2/6

例4.13

>> syms x

>> factor(x^9-1)

ans =

(x - 1)*(x^2 + x + 1)*(x^6 + x^3 + 1)

例4.14

>> syms x

>> horner(x^3-6*x^2+11*x-6)

ans =

x*(x*(x - 6) + 11) – 6

例4.15

>> syms x

>> expand((x-1)*(x^2+x+1)*(x^6+x^3+1))

ans =

x^9 – 1

>> syms x y

>> expand(cos(x+y)*sin(x*y))

ans =

sin(x*y)*cos(x)*cos(y) - sin(x*y)*sin(x)*sin(y)

例4.16

>> syms x y

>> collect((exp(x)+x)*(x+2))

ans =

2*exp(x) + x*(exp(x) + 2) + x^2

>> collect((x+y)*(x^2+y^2+x*y),y)

ans =

x^3 + 2*x^2*y + 2*x*y^2 + y^3

例4.17

>> syms t

>> poly2sym([1 0 1 -1 2],t)

ans =

t^4 + t^2 - t + 2

例4.18

>> syms a b x

>> solve(a*x^2-b*x-6)

ans =

(b + (b^2 + 24*a)^(1/2))/(2*a)

(b - (b^2 + 24*a)^(1/2))/(2*a)

例4.19

>> solve('a*x^2-b*x-6')

ans =

(b + (b^2 + 24*a)^(1/2))/(2*a)

(b - (b^2 + 24*a)^(1/2))/(2*a)

例4.20

>> dsolve('dy=5')

ans =

5*t+c1

例4.21

>> dsolve('dy=x','x')

ans =

1/2*x^2+c1

dsolve函式還可以用來對微分方程組的求解。

>> [x,y]=dsolve('dx=y+x','dy=2*x') %微分方程組的通解,採用雙輸出

x =-1/2*c1*exp(-t)+c2*exp(2*t)

y =c1*exp(-t)+c2*exp(2*t)

>> s=dsolve('dx=y+x,dy=2*x') %微分方程組的通解,採用結構化輸出

s =x: [1x1 sym]

y: [1x1 sym]

>>ans =

-1/2*c1*exp(-t)+c2*exp(2*t)

>>ans =

c1*exp(-t)+c2*exp(2*t)

>> [x,y]=dsolve('dx=y+x,dy=2*x','x(0)=0,y(0)=1') %加初始條件

x =-1/3*exp(-t)+1/3*exp(2*t)

y =2/3*exp(-t)+1/3*exp(2*t)

2.求極限。

>> syms x

>> f=cos(sqrt(x))^(pi/x);

>> limit(f,x,0,'right')

ans =

1/exp(pi/2)

3.求極限。

>> syms x

>> f=(3*sin(x)+(x^2)*cos(1/x))/((1+cos(x))*log(1+x));

>> limit(f,x,0,'left'), limit(f,x,0,'right')

ans =

3/2ans =

3/24.已知,求的一階微分。

>> syms x

>> f=(tan(sqrt(x+sqrt(x+sqrt(2*x)))))^2;

>> diff(f)

ans =

tan((x+(x+2^(1/2)*x^(1/2))^(1/2))^(1/2))*(1+tan((x+(x+2^(1/2)*x^(1/2))^(1/2))^(1/2))^2)/(x+(x+2^(1/2)*x^(1/2))^(1/2))^(1/2)*(1+1/2/(x+2^(1/2)*x^(1/2))^(1/2)*(1+1/2*2^(1/2)/x^(1/2)))

5.已知,求的二階微分。

>> syms x

>> f=cos(x^2)*(sin(1/x))^2;

>> diff(f,2)

ans =

(2*cos(1/x)^2*cos(x^2))/x^4 - 2*sin(1/x)^2*sin(x^2) - 4*x^2*cos(x^2)*sin(1/x)^2-(2*cos(x^2)*sin(1/x)^2)/x^4+(8*cos(1/x)*sin(1/x)*sin(x^2))/x+(4*cos(1/x)*cos(x^2)*sin(1/x))/x^3

6.求積分。

>> syms x

>> f=sqrt(x)/((1+x)^2);

>> int(f,x,0,inf)

ans =

pi/2

7.求積分

>> syms x

>> f=sqrt((x+1)/(x-1))/x;

>> int(f,x)

ans =

log(- 64*((x + 1)/(x - 1))^(1/2) - 64) - log(64*(1/(x - 1)*(x + 1))^(1/2) - 64) + i*log(- 64*i*((x + 1)/(x - 1))^(1/2) - 64) - i*log(64*i*((x + 1)/(x - 1))^(1/2) - 64)

8.求二重不定積分

>> syms x y

>> f=x*exp(-x*y);

>> >> int(int(f,x),y)

ans =

1/y*exp(-x*y)

9.使用符號運算計算級數。

>> syms n

>> symsum((((2*n)/(2*n-1)+(2*n-1)/(2*n))),1,3)

ans =

397/60

10.求微分方程的通解,指定x為自變數。

>> dsolve('d2y+4*dy+4*y=exp(-2*x)','x')

ans =

exp(-2*x)*c2+exp(-2*x)*x*c1+1/2*x^2*exp(-2*x)

11.求微分方程。

>> dsolve('x^2*dy+x*y=y^2','y(1)=1')

ans =

x/(1+exp(1/x*t)*(x-1)/exp(1/x))

三、實驗總結

這次實驗重點要搞清楚符號變數和符號表示式的定義,要能夠運用符號運算解決一般的微積分和方程求解問題。對於一些函式的格式還是有必要牢記的,對於matlab的學習如果僅僅靠在課堂上的時間是遠遠不夠的,更重要的是課後的練習,只有練習的多了,才能更好、更快的寫出解題的正確的程式,才能更好的掌握,這就需要我們在平時多看多練。

MATLAB實驗報告

數學與計算科學學院 實驗報告 實驗專案名稱 matlab運算基礎 所屬課程名稱數學軟體 實驗型別上機實驗 實驗日期 2011.9.19 班級信計1001 學號 201053100118 姓名劉濤 成績附錄1 源程式 附錄2 實驗報告填寫說明 1 實驗專案名稱 要求與實驗教學大綱一致。2 實驗目的 目...

matlab實驗報告

實驗二特殊函式與圖形 一 實驗目的及意義 掌握用matlab軟體繪製簡單曲線 曲面圖形,並通過繪製一些特殊函式的圖形,更加深入地理解相關函式的性質,了解函式的性態。二 實驗內容 平面作圖 空間作圖,比較數值作圖與符號作圖的異同。三 實驗步驟 1.在d盤建立乙個自己的資料夾 2.開啟軟體平台 matl...

MAtlaB實驗報告

基於matlab的數學實驗 實驗內容 實驗報告1 課程名稱 基於matlab的數學實驗實驗名稱 矩陣與向量的基本運算 實驗地點 數學建模實驗室日期 9.15 時間 7 30 9 30或9 35 11 35 實驗目的 熟悉matlab軟體中關於向量 矩陣的基本運算,並會建立m檔案。實驗裝置 計算機 m...