在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Matlab基礎(chǔ)入門手冊(第六章 符號運(yùn)算)

    第六章 符號運(yùn)算

    1.53 符號對象

    1.符號數(shù)值、變量表達(dá)式的創(chuàng)建方法

    2.認(rèn)識函數(shù)

    sym、syms

    3.說明

    符號數(shù)學(xué)工具箱

    符號數(shù)學(xué)工具箱引入了一種特殊的數(shù)據(jù)類型 – 符號對象

    該數(shù)據(jù)類型包括符號數(shù)字,符號變量,符號表達(dá)式和符號函數(shù),還包含符號矩陣及上述變量組成的符號數(shù)組。

    符號數(shù)學(xué)工具箱提供求解、繪圖和操作符號數(shù)學(xué)方程的功能

    4.實(shí)例演示

    %1_53%freexyn1/6 %雙精度浮點(diǎn)型1/6,在Matlab中使用小數(shù)表達(dá)x=sym(1/6) %創(chuàng)建符號變量,分?jǐn)?shù)形式表達(dá)class(x) %測試x類型為符號對象sin(pi) %對雙精度浮點(diǎn)pi值求sin值,有舍入誤差sin(sym(pi)) %對符號對象數(shù)值pi求sin值,完整表達(dá)%% 創(chuàng)建符號變量sym(‘x’) %方法1syms x %方法2 聲明后可直接使用,無輸出結(jié)果,但工作區(qū)會存儲syms x y zsym(‘x’,[1 5]) %方法1的形式也可賦值多個符號變量,并自動編號%% 創(chuàng)建符號表達(dá)式f=2*x+1g=x*y+z

    1.54 符號函數(shù)和符號矩陣

    1.符號函數(shù)和符號矩陣的創(chuàng)建和應(yīng)用

    2.說明

    符號函數(shù)和符號矩陣的用法與常規(guī)的矩陣和函數(shù)相同,差異在于處理的數(shù)據(jù)類型不同,用符號對象運(yùn)算時,需要首先聲明符號對象。

    3.實(shí)例演示

    %1_54syms x %聲明符號對象xf=2*x+1 %符號表達(dá)式f(x)=2*x+1 %符號函數(shù)f(1) %結(jié)果是符號對象3,與雙精度3不同syms f(x,y) %直接創(chuàng)建(聲明)沒有函數(shù)表達(dá)式的函數(shù)f(x,y) %調(diào)用f(1,2) %運(yùn)算結(jié)果%% 符號矩陣syms a b c d %聲明符號變量A=[a b;c d] %符號矩陣,結(jié)果每行用中括號單獨(dú)表達(dá)B=[a 1;c 3] %混合類型符號矩陣sum(A) %符號矩陣運(yùn)算,與常規(guī)矩陣算法相同sum(B)sym(‘x’,[2 2]) %創(chuàng)建2行2列矩陣,自動添加下標(biāo)sym(‘x%d%d’,[2 2]) %分別引用2個下標(biāo)sym(‘x%d2018%d’,[2 2]) %2個下標(biāo)中間添加數(shù)字%% 普通矩陣轉(zhuǎn)化為符號矩陣C=hilb(3) %創(chuàng)建3階希爾伯特矩陣sym(C) %轉(zhuǎn)化為符號矩陣

    1.55 基本運(yùn)算

    1.符號對象的算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算

    2.認(rèn)識函數(shù)

    isAlways %判斷符號表達(dá)式是否為真

    3.說明

    符號對象的基本代數(shù)運(yùn)算與浮點(diǎn)型數(shù)據(jù)的運(yùn)算大體相同

    4.實(shí)例演示

    %1_551+1sym(1)+1syms a b x %聲明符號變量a+1a+bf=a+b+1f+xg(x)=a*x+b %函數(shù)運(yùn)算g(10)m=[a b;b a] %符號矩陣運(yùn)算m+1m.*2 %每個元素都乘2m*m %矩陣乘法%% 關(guān)系運(yùn)算1<2 %浮點(diǎn)型關(guān)系運(yùn)算返回邏輯值sym(1)<2 %先轉(zhuǎn)換為符號型再運(yùn)算,返回符號型表達(dá)式isAlways(sym(1)<2) %用符號表達(dá)式的判斷函數(shù),返回邏輯值a<b %未知參數(shù)關(guān)系運(yùn)算f=a=0)isAlways(abs(a)*abs(b)>=abs(a*b))isAlways(abs(a)>=0 | 1>2) %第一項(xiàng)為真,取或運(yùn)算后,結(jié)果為真isAlways(abs(a)>=0 & 1>2) %結(jié)果為假a | ba & b

    1.56 使用假設(shè)

    1.符號變量使用假設(shè)

    2.認(rèn)識函數(shù)

    設(shè)置assume

    添加assumeAlso

    顯示assumptions

    3.說明

    在符號數(shù)學(xué)工具箱中,符號變量默認(rèn)是復(fù)數(shù)變量

    若要運(yùn)算中不使用全體復(fù)數(shù)域,可以為變量添加假設(shè)指定范圍

    可以通過假設(shè)設(shè)置變量屬于集合:整數(shù)、正數(shù)和實(shí)數(shù)

    4.實(shí)例演示

    %1_56%作者:freexynsyms xassumptions(x) %x不存在假設(shè),屬于復(fù)數(shù)域assume(x>=0) %設(shè)置假設(shè)assumptions(x) %查看假設(shè)% assume(x<=5)% assumptions(x) %會覆蓋前面假設(shè)內(nèi)容assumeAlso(x<=5) %追加假設(shè)assumptions(x)%% 設(shè)置x屬于集合assume(x,'integer') %假設(shè)x屬于整數(shù)assumptions(x)assume(x,'positive') %假設(shè)x為正數(shù)assume(x,'real') %假設(shè)x屬于實(shí)數(shù)assumptions(x)%% 符號變量聲明時同時設(shè)置假設(shè)sym('x')sym('x','real') %創(chuàng)建(聲明)符號變量并假設(shè)屬于實(shí)數(shù)assumptions(x)syms y positive %另一方法,創(chuàng)建(聲明)符號變量并假設(shè)屬于正數(shù)assumptions(y)assumptions %不給定參數(shù)時,會顯示所有假設(shè)%% 設(shè)置假設(shè)的用法solve(y+1==0,y) %solve函數(shù)用來解方程,solve(x+1==0,x)

    1.57 清除假設(shè)

    1.清除假設(shè)和重置符號引擎

    2.認(rèn)識函數(shù)

    reset

    3.說明

    符號變量和它們的假設(shè)是分開存儲的

    符號引擎工作空間通常是空的,Matlab工作空間記錄符號變量并在需要時把他們傳遞到符號引擎工作空間進(jìn)行計(jì)算

    符號引擎空間存儲了所有的關(guān)于符號變量的假設(shè),這些假設(shè)會影響方程的求解、化簡和變換

    清除變量和清除假設(shè)是兩個過程,運(yùn)算結(jié)束后注意清除假設(shè)

    4.實(shí)例演示

    %1_57syms x y z positive %假設(shè)不存在工作區(qū)中,而在符號引擎工作空間中assumptions %查看所有假設(shè)whos %查看所有變量clear x %清除變量x,并不會清除掉假設(shè)assumptionswhos% assume(x,’clear’) %清除假設(shè):變量x是訪問和調(diào)用x假設(shè)的橋梁,變量若被清除了,則無法訪問或清除假設(shè)syms x %重新聲明假設(shè)xassume(x,’clear’)assumptionswhosassume([x y],’clear’) %可同時清除多個假設(shè),以數(shù)組形式assumptionsreset(symengine) %重制符號引擎工作空間:清理所有符號假設(shè)assumptions

    1.58 可變精度算術(shù)

    1.可變精度算術(shù)的應(yīng)用

    2.認(rèn)識函數(shù)

    vpa

    3.說明

    默認(rèn)的,Matlab雙精度浮點(diǎn)數(shù)使用16位數(shù)字精度

    而符號數(shù)學(xué)工具箱的vpa函數(shù),提供了無限大的可變精度

    它默認(rèn)使用32位數(shù)字精度,32位指的是有效數(shù)字的位數(shù)

    4.實(shí)例演示

    %1_58pi %默認(rèn)雙精度浮點(diǎn)型pi值,16位精度,默認(rèn)short格式小數(shù)點(diǎn)后4位vpa(pi) %pi轉(zhuǎn)換為可變精度數(shù)值,32位精度vpa(pi)+1 %先轉(zhuǎn)換為可變精度數(shù)值再運(yùn)算vpa(pi,100) %通過輸入第2個參數(shù)指定精度vpa(sqrt(2),100)%% 讓整個運(yùn)行環(huán)境使用可變精度digits %獲取當(dāng)前運(yùn)行環(huán)境的精度i=digits(100) %設(shè)置運(yùn)行環(huán)境精度100,i返回設(shè)置前的精度值digitsvpa(pi) %顯示pi的可變參數(shù)值,已變?yōu)?00位vpa(pi)+1digits(32)digitsvpa(pi)

    1.59 運(yùn)算精度的選擇

    1.分別在以下三種算術(shù)條件下求sin(pi)的值

    符號運(yùn)算

    可變精度運(yùn)算

    雙精度浮點(diǎn)型運(yùn)算

    2.說明

    2.1 符號算術(shù)

    默認(rèn)的,符號數(shù)學(xué)工具箱使用確切的數(shù)字,進(jìn)行精確的符號計(jì)算

    2.2 可變精度算術(shù)

    是符號數(shù)學(xué)工具箱的功能,是符號計(jì)算的近似數(shù)值計(jì)算

    通過控制數(shù)值顯示的有效位數(shù)實(shí)現(xiàn)可變精度

    默認(rèn)32位,運(yùn)算速度稍快,內(nèi)存消耗量依賴于設(shè)定的精度

    2.3 雙精度浮點(diǎn)數(shù)算術(shù)

    雙精度浮點(diǎn)運(yùn)算就是常規(guī)的Matlab數(shù)值計(jì)算

    有舍入誤差,精確到16位精度,運(yùn)算速度最快,內(nèi)存消耗最少

    3.實(shí)例演示

    %1_59a=sym(pi) %符號型sin(a)b=vpa(pi) %可變精度型sin(b)c=pi %雙精度sin(c)

    1.60 數(shù)值型的轉(zhuǎn)換

    1. 符號型和數(shù)值型之間的轉(zhuǎn)換

    2.說明

    符號數(shù)學(xué)工具箱允許實(shí)現(xiàn)符號對象和常規(guī)Matlab數(shù)據(jù)類型的轉(zhuǎn)換(如數(shù)值、字符等)

    也可以借助符號變量的精度控制方法實(shí)現(xiàn)高精度的數(shù)值計(jì)算

    數(shù)值型轉(zhuǎn)換成符號型用sym,返回?cái)?shù)值表達(dá)式的有理近似值

    轉(zhuǎn)換的原理是,通過匹配p/q, pπ/q, (p/q)^1/2,2^q和10^q(其中p和q是中等大小的整數(shù))這樣的形式來修正舍入誤差(符號型為精確值)

    3.實(shí)例演示

    %1_600.3 %雙精度sym(0.3) %轉(zhuǎn)化為符號型sym(0.333333333333333333333333333) %轉(zhuǎn)化為符號型a=1/6 %取小數(shù)后4位sym(a)a=pi/6sym(a)a=3^(1/3) %開立方近似值sym(a) %轉(zhuǎn)換成符號型時,無法將近似值轉(zhuǎn)換成精確值的a=3^(1/2) %開平方近似值sym(a) %可以轉(zhuǎn)換成符號型,常規(guī)近似值能夠精確轉(zhuǎn)換回去sym(0.333333333333333333333333333) %轉(zhuǎn)回符號型1/3sym(‘0.333333333333333333333333333’) %變?yōu)榉栃蛃ym(‘x’) %上式形式類似于創(chuàng)建符號變量

    1.61 查找符號變量

    1.查找符號變量

    2.認(rèn)識函數(shù)

    symvar

    3.說明

    在符號表達(dá)式、符號函數(shù)和符號矩陣中查找符號變量

    symvar函數(shù)自動把查找到的符號變量按字母順須排列并輸出

    如果不是查找所有符號變量,那么靠近字母x的變量優(yōu)先查找

    特別的,對于符號函數(shù),作為函數(shù)輸入?yún)?shù)的符號變量優(yōu)先查找

    大多應(yīng)用在當(dāng)沒有指定運(yùn)算變量時,用于確定默認(rèn)符號變量

    4.實(shí)例演示

    %1_61%freexynsyms a b n t x yf=sin(a*x+b)+x^n+log(y) %符號表達(dá)式symvar(f) %查找函數(shù)表達(dá)式f中的符號變量symvar(f,1) %優(yōu)先查找靠近x的符號變量symvar(f,2) %查找2個符號變量f(t)=sin(a*t+b)+x^n+log(y) %符號函數(shù)symvar(f) %優(yōu)先查找自變量,然后,查找靠近x的變量symvar(f,1)symvar(f,2)m=[a b n;t x y] %符號矩陣symvar(m)symvar(m,2) %查找2個靠近x的變量

    1.62 變量替代

    1.符號變量的代入和替代

    2.認(rèn)識函數(shù)

    subs

    3.說明

    把符號變量替代為數(shù)值

    把符號變量替代為矩陣

    替換符號矩陣中的元素

    4.實(shí)例演示

    %1_62syms x yf=x+ysubs(f,x,1) %將符號表達(dá)式f中變量x替換為1subs(f,y,2)subs(f,1) %符號表達(dá)式f中默認(rèn)符號變量替換為1,默認(rèn)符號變量即x,或者靠近x最近的變量subs(f,x,y) %x替換為ysubs(f,[x y],[1 2]) %將x和y分別替換成1和2subs(f,x,[1 2]) %x替換為矩陣[1 2]m=[x y x;y x y] %2行3列的符號變量m(1,3)=sym(‘a’) %下標(biāo)索引替換法subs(m,x,sym(‘a’)) %x替換為asubs(m,m(1,1),sym(‘a’))subs(m,x,x^2+x+1+y) %將x替換為符號表達(dá)式subs(m,x,[2*x 2*y])

    1.63 長表達(dá)式的縮寫

    1.長表達(dá)式的縮寫

    2.認(rèn)識函數(shù)

    pretty

    subexpr

    3.說明

    長表達(dá)式可能含有多個相同的子表達(dá)式

    可以把這樣的子表達(dá)式替換并縮寫

    pretty使用內(nèi)部算法來選擇要縮寫的子表達(dá)式,可以嵌套縮寫

    subexpr函數(shù)只做一個子表達(dá)式的縮寫,它不支持嵌套縮寫

    它默認(rèn)使用變量sigma來縮寫子表達(dá)式

    4.實(shí)例演示

    %1_63syms xs=(sqrt(5)+x)/2pretty(s)ss=(s^2+s+1)*(s^2+s-1)/((s^2-s-1)*(s^2-s+1)^2)pretty(ss) %嵌套縮寫,將表達(dá)式中重復(fù)出現(xiàn)的子表達(dá)式縮寫并拎出說明,子表達(dá)式符號無法更改[s1,t]=subexpr(ss,’t’) %嵌套縮寫,返回表達(dá)式名稱可指定,且是單行表達(dá)

    1.64 符號函數(shù)繪圖

    1.簡單介紹符號函數(shù)、方程和表達(dá)式的繪圖方法

    2.認(rèn)識函數(shù)

    fplot

    3.實(shí)例演示

    %1_64% fplot(@sin) %函數(shù)句柄調(diào)用% fplot(sin) %直接傳遞函數(shù)名,報錯% fplot(sin(x)) %函數(shù)名傳入自變量,報錯%%Matlab是一個綜合運(yùn)行環(huán)境,上述為Matlab中基礎(chǔ)工作模塊中的函數(shù)%% 符號函數(shù)工具箱中,也有fplot% Matlab會根據(jù)輸入數(shù)值類型區(qū)別調(diào)用工具箱,輸入數(shù)值型會調(diào)用基礎(chǔ)模塊,輸入符號型調(diào)用符號函數(shù)工具箱syms xfplot(sin(x)) %符號工具箱中可以直接調(diào)用函數(shù)名稱fplot(exp(x))fplot(sin(x)+x^4*log(x))fplot(sin(x)+x^4*log(x),[0 10]) %第二個參數(shù)指定繪圖范圍% f=x^2+x+1 %符號表達(dá)式% fplot(f) %傳入符號表達(dá)式繪圖f(x)=x^2+x+1 %符號函數(shù)fplot(f) %傳入符號函數(shù)繪圖

    (本章結(jié)束,本書結(jié)束)

    歡迎交流和留言

    作者/旺旺/ UP:freexyn(郵箱:[email protected]

    整理/注釋:韓松岳(郵箱:[email protected]

    建議、提問、合作、供稿等,請發(fā)郵件。

    附本書相關(guān)鏈接:

    Matlab基礎(chǔ)入門手冊(第一章 入門)

    Matlab基礎(chǔ)入門手冊(第二章 矩陣)

    Matlab基礎(chǔ)入門手冊(第三章 運(yùn)算符)

    Matlab基礎(chǔ)入門手冊(第四章 數(shù)據(jù)類型)

    Matlab基礎(chǔ)入門手冊(第五章 函數(shù)/腳本)

    【本文】Matlab基礎(chǔ)入門手冊(第六章 符號函數(shù))

    End

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年6月19日 09:03
    下一篇 2022年6月19日 09:04

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息