matlab的演算法規則
⑴ Matlab表達式的規則有哪些
symsn1n2%符號n1n2x1=log10(n1);%x1表達式x2=log10(n2);%x2表達式y=n1/30+n2/50;%y表達式sn2=solve(3.8969+0.8657*x1*x2-5,n2);%用n1表示n2yy=subs(y,n2,sn2);%代入函數y,yy是關於n1的一元函數fun=@(n1)eval(yy);%將符號表達式轉化為函數minn1=fminsearch(fun,1);%利用fminsearch找到函數y取最小值時的n1值minn1minn2=subs(sn2,n1,minn1);%計算取最小值時的n2值minn2minv=fun(minn1);%計算函數的最小值minvminx1=log10(minn1);%計算x1最小值minx1minx2=log10(minn2);%計算x2最小值minx2minx1,minx2,minv結果minx1=1.0515minx2=1.2118minv=0.7010表示當x1取1.0515,x2取1.2118時,函數有最小值0.7010
⑵ matlab演算法是什麼
MATLAB是一個可以進行數值計算、繪圖的軟體。它的函數含有演算法。你也可以採用自己的演算法在MATLAB中編程實現。
⑶ matlab是怎樣進行計算的
封裝實際上就是編寫(MATLAB已經替你寫好了)一些子程序,我們只需要調用這些子程序。我們在C語言中當然可以同樣去做,那就是寫一個函數,去實現相應的功能。調用函數是(我使用該函數)就不需要用循環了,而在函數內部仍然必須用循環來實現,這樣的漢書編寫起來是比較麻煩的,如果你便寫了所有的這些函數,你就編寫了你自己的MATLAB內核了,當然這是一個巨大的工程。
***********************
他把數組或矩陣的計算做了一個封裝,對於我們使用者來說就不算循環了,如果你要自己對數組的每一個元素進行單獨處理,那就要用循環了
⑷ matlab函數演算法
MATLAB有個東西叫做"腳本"有個東西叫做"函數", 你是不是把function [s,w]=shang(x)放到腳本里去了?
⑸ matlab計算矩陣的乘法的規則
>> A=[0.1248 0.1744 0.1205 0.4155 0.4448 0.1411;0.2295 0.4228 0.4182 0.2926 0.2581 0.3298;0.4288 0.2656 0.1906 0.1849 0.1896 0.3880;0.2168 0.1372 0.2707 0.1070 0.1076 0.1411];
B=[0.1584;0.1892;0.1980;0.0483;0.1502;0.2558];a=A*B
a =
0.1996
0.3364
0.2926
0.1713
⑹ matlab 矩陣各種表示方法是什麼
一、矩陣的表示方法
1、矩陣元素必須在」[]」內;
2、矩陣的同行元素之間用空格(或」,」)隔開;
3、矩陣的行與行之間用」;」(或回車符)隔開;
4、矩陣的元素可以是數值、變數、表達式或函數;
5、矩陣的尺寸不必預先定義。
二、矩陣的運算
1、算術運算
MATLAB的基本算術運算有:+(加)、-(減)、*(乘)、/(右除)、(左除)、^(乘方)、』(轉置)。運算是在矩陣意義下進行的,單個數據的算術運算只是一種特例。
(1)矩陣加減運算假定有兩個矩陣A和B,則可以由A+B和A-B實現矩陣的加減運算。運算規則是:若A和B矩陣的維數相同,則可以執行矩陣的加減運算,A和B矩陣的相應元素相加減。如果A與B的維數不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數不匹配。
(2)矩陣乘法假定有兩個矩陣A和B,若A為m*n矩陣,B為n*p矩陣,則C=A*B為m*p矩陣。
(3)矩陣除法在MATLAB中,有兩種矩陣除法運算:和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則AB和B/A運算可以實現。
AB等效於A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效於A矩陣的逆右乘B矩陣,也就是B*inv(A)。對於含有標量的運算,兩種除法運算的結果相同。對於矩陣來說,左除和右除表示兩種不同的除數矩陣和被除數矩陣的關系,一般AB≠B/A。
(4)矩陣的乘方一個矩陣的乘方運算可以表示成A^x,要求A為方陣,x為標量。
(5)矩陣的轉置對實數矩陣進行行列互換,對復數矩陣,共軛轉置,特殊的,操作符.』共軛不轉置(見點運算);
(6)點運算在MATLAB中,有一種特殊的運算,因為其運算符是在有關算術運算符前面加點,所以叫點運算。點運算符有.*、./、.和.^。兩矩陣進行點運算是指它們的對應元素進行相關運算,要求兩矩陣的維參數相同。
2、關系運算
MATLAB提供了6種關系運算符:<(小於)、<=(小於或等於)、>(大於)、>=(大於或等於)、==(等於)、~=(不等於)。關系運算符的運演算法則為:
(1)當兩個比較量是標量時,直接比較兩數的大小。若關系成立,關系表達式結果為1,否則為0;
(2)當參與比較的量是兩個維數相同的矩陣時,比較是對兩矩陣相同位置的元素按標量關系運算規則逐個進行,並給出元素比較結果。最終的關系運算的結果是一個維數與原矩陣相同的矩陣,它的元素由0或1組成;
(3)當參與比較的一個是標量,而另一個是矩陣時,則把標量與矩陣的每一個元素按標量關系運算規則逐個比較,並給出元素比較結果。最終的關系運算的結果是一個維數與原矩陣相同的矩陣,它的元素由0或1組成。
3、邏輯運算
MATLAB提供了3種邏輯運算符:&(與)、|(或)和~(非)。邏輯運算的運演算法則為:
(1)在邏輯運算中,確認非零元素為真,用1表示,零元素為假,用0表示;
(2)設參與邏輯運算的是兩個標量a和b,那麼,a&b a,b全為非零時,運算結果為1,否則為0。a|b a,b中只要有一個非零,運算結果為1。~a當a是零時,運算結果為1;當a非零時,運算結果為0。
(3)若參與邏輯運算的是兩個同維矩陣,那麼運算將對矩陣相同位置上的元素按標量規則逐個進行。最終運算結果是一個與原矩陣同維的矩陣,其元素由1或0組成;
(4)若參與邏輯運算的一個是標量,一個是矩陣,那麼運算將在標量與矩陣中的每個元素之間按標量規則逐個進行。最終運算結果是一個與矩陣同維的矩陣,其元素由1或0組成;
(5)邏輯非是單目運算符,也服從矩陣運算規則;
(6)在算術、關系、邏輯運算中,算術運算優先順序最高,邏輯運算優先順序最低。
(6)matlab的算法規則擴展閱讀:
1.獲取矩陣元素
可以通過下標(行列索引)引用矩陣的元素,如Matrix(m,n)。
也可以採用矩陣元素的序號來引用矩陣元素。
矩陣元素的序號就是相應元素在內存中的排列順序。
在MATLAB中,矩陣元素按列存儲。
序號(Index)與下標(Subscript)是一一對應的,以m*n矩陣A為例,矩陣元素A(i,j)的序號為(j-1)*m+i。
其相互轉換關系也可利用sub2ind和ind2sub函數求得。
2.矩陣拆分
利用冒號表達式獲得子矩陣:
(1)A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。
(2)A(i:i+m,:)表示取A矩陣第i~i+m行的全部元素;A(:,k:k+m)表示取A矩陣第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第i~i+m行內,並在第k~k+m列中的所有元素。
此外,還可利用一般向量和end運算符來表示矩陣下標,從而獲得子矩陣。end表示某一維的末尾元素下標。
利用空矩陣刪除矩陣的元素:
在MATLAB中,定義[]為空矩陣。給變數X賦空矩陣的語句為X=[]。注意,X=[]與clear X不同,clear是將X從工作空間中刪除,而空矩陣則存在於工作空間中,只是維數為0。
3、特殊矩陣
(1)魔方矩陣魔方矩陣有一個有趣的性質,其每行、每列及兩條對角線上的元素和都相等。對於n階魔方陣,其元素由1,2,3,…,n2共n2個整數組成。MATLAB提供了求魔方矩陣的函數magic(n),其功能是生成一個n階魔方陣。
(2)范得蒙矩陣范得蒙(Vandermonde)矩陣最後一列全為1,倒數第二列為一個指定的向量,其他各列是其後列與倒數第二列的點乘積。可以用一個指定向量生成一個范得蒙矩陣。在MATLAB中,函數vander(V)生成以向量V為基礎向量的范得蒙矩陣。
(3)希爾伯特矩陣在MATLAB中,生成希爾伯特矩陣的函數是hilb(n)。使用一般方法求逆會因為原始數據的微小擾動而產生不可靠的計算結果。MATLAB中,有一個專門求希爾伯特矩陣的逆的函數invhilb(n),其功能是求n階的希爾伯特矩陣的逆矩陣。
(4)托普利茲矩陣托普利茲(Toeplitz)矩陣除第一行第一列外,其他每個元素都與左上角的元素相同。生成托普利茲矩陣的函數是toeplitz(x,y),它生成一個以x為第一列,y為第一行的托普利茲矩陣。這里x,y均為向量,兩者不必等長。toeplitz(x)用向量x生成一個對稱的托普利茲矩陣。
(5)伴隨矩陣MATLAB生成伴隨矩陣的函數是compan(p),其中p是一個多項式的系數向量,高次冪系數排在前,低次冪排在後。
(6)帕斯卡矩陣我們知道,二次項(x+y)n展開後的系數隨n的增大組成一個三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣。函數pascal(n)生成一個n階帕斯卡矩陣。
網路——MATLAB
⑺ matlab中的數組除法: 在matlab里我以前都沒敢嘗試,就是[1 2 3]/[3 4 5]遵循什麼運算規則
「/」是矩陣右除的符號,對應的函數是mrdivide。矩陣右除是通過左除實現的,也就是說,A/B = (B'\A')'。
「\」是矩陣左除的符號,對應的函數是mldivide。
x=A\B是線性方程組Ax=B的解,而x=B/A是線性方程組xA=B的解(如果方程組欠定或超定,則解為最小二乘意義上的)。
以你舉的例子來說,相當於求3x=1,4x=2,5x=3這樣一個方程組的解,顯然這個方程組屬於超定的情況,無解,但可以求出最小二乘解x=0.52。
使用最小二乘擬合函數可以求出相同的解來:
k=lsqcurvefit(inline('k*x','k','x'),0,[3 4 5],[1 2 3])
⑻ matlab 演算法如何使用
可以肯定你下的是遺傳工具箱。這么多的M文件是工具箱包含的函數。相信每個函數在開始之前都有介紹相應的參數功能。
要使用,你必須在Matlab上載入這個工具箱,即你把這個文件考皮到matlab的toolbox中,然後再matlab的主界面中載入這個工具箱,具體實施步驟網上到處都是,不在重復。載入成功後,你就可以根據你的需要調用相關函數。
⑼ matlab中兩個矩陣不同元素不同演算法怎麼實現
則可以執行矩陣的加減運算,則matlab將給出錯誤信息。如果a與b的維數不相同,a和b矩陣的相應元素相加減(1)
矩陣加減運算%b
假定有兩個矩陣a和b。運算規則是:若a和b矩陣的維數相同,提示用戶兩個矩陣的維數不匹配,則可以由a+b和a-b實現矩陣的加減運算
⑽ Matlab 矩陣乘法以及矩陣點乘的規則區別
矩陣乘法的要求是參與相乘的左矩陣的列數必須跟右矩陣的行數相同,即A (M x N) 乘以 B (N x K) 的乘積矩陣C 為 M x K 維的。
矩陣乘法結果矩陣的每個元素都是向量的內積,cij = ,即A的第i行向量和B的第j列向量的內積。
矩陣點乘則要求參與運算的矩陣必須是相同維數的,是每個對應元素的逐個相乘。
例子如下:
A = [1 3;2 4]
A =
1 3
2 4
B = [3 0;1 5]
B =
3 0
1 5
A*B
ans =
6 15
10 20
A.*B
ans =
3 0
2 20
(10)matlab的演算法規則擴展閱讀
MATLAB的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完成相同的事情簡捷得多。
並且MATLAB也吸收了像Maple等軟體的優點,使MATLAB成為一個強大的數學軟體。在新的版本中也加入了對C,FORTRAN,C++,JAVA的支持。
優勢特點
1) 高效的數值計算及符號計算功能,能使用戶從繁雜的數學運算分析中解脫出來;
2) 具有完備的圖形處理功能,實現計算結果和編程的可視化;
3) 友好的用戶界面及接近數學表達式的自然化語言,使學者易於學習和掌握;
4) 功能豐富的應用工具箱(如信號處理工具箱、通信工具箱等) ,為用戶提供了大量方便實用的處理工具。