matlab裡面關於是怎麼用的,MATLAB裡面關於 是怎麼用的

2021-08-09 08:12:36 字數 5952 閱讀 2001

1樓:匿名使用者

例子:1、punct - function handle creation @;@ 在匿名函式中表示函式控制代碼。

2、例如ln(x),在matlab中是沒有定義的,正確表示是log(x);但如果要直觀表示自然對數,意義用以下語句表示:ln=@(x)  log(x);執行後,ln(4)=log(4) , 即用ln 替換 log。

3、poly6 = @(x) 8*x.^6+6*x.^5+3*x.^3+x.^2+x+520;fplot(ploy6,[0,100]);fzero(ploy6,13)。

matlab的基本資料單位是矩陣,它的指令表示式與數學、工程中常用的形式十分相似,故用matlab來解算問題要比用c。

2樓:匿名使用者

matlab中有點乘'.*',點除'./',點方'.

^'這些運算.a*b表示矩陣a與b的乘積,要求a的列數等於b的行數;而a.*b表示矩陣a與b的對應位置元素相乘,要求矩陣a與b的大小相同.

點除、點方與此類似.

上述的例子中如果要繪製函式曲線,x需要取一系列的離散點,即x為乙個向量.則sinx、分母的x^2,及cosx都是向量,需用點運算.可程式設計如下:

x=-2*pi:0.05*pi:2*pi;

y=cos(x).*(0.5+3*sin(x)./(1+x.^2));

figure,plot(x,y);

3樓:密密麻麻老味

@是用於定義函式控制代碼的操作符。函式控制代碼既是一種變數,可以用於傳參和賦值;也是可以當做函式名一樣使用。

舉例:sin是matlab中的乙個函式,但sin只是函式名,還不是函式控制代碼,不可以用於傳參。

f = @sin;

這行**定義了乙個函式控制代碼,變數名是f。這樣就可以當做引數傳遞了(這就是上面**中的意義所在),而且還可以跟sin函式按相同的語法規則使用:

g = f; % g也是函式控制代碼,其「值」和f一

matlab 中.*和*有什麼區別

4樓:匿名使用者

「.*」和「*」的區別:

1、在進行數之間的運算時「.*」和「*」是沒有區別的,都是表示普通的乘法運算。例:m = 2,n = 3,m.*n = 6, m*n = 6。

2、在進行矩陣之間的運算時「.*」和「*」的意義就有所不同了。假設a,b表示兩個矩陣,a*b表示矩陣a與矩陣b進行矩陣相乘,a.

*b表示矩陣a中的元素與矩陣b中的元素按位置依次相乘,得到的結果將作為新矩陣中相同位置的元素。

3、matlab 中用乙個特殊的符號來區分矩陣運算和陣列運算。在需要區分兩者不同的時侯,把點置於符號前來指示這是乙個陣列運算(例如, .*)。

線面給出的是一些常見的陣列和矩陣運算。陣列加法:a+b,陣列加法和矩陣加法相同。

陣列減法:a-­b ,陣列減法和矩陣減法相同。

陣列乘法:a.*b,a 和 b 的元素逐個對應相乘,兩陣列之間必須有相同的形,或其中乙個是標量。

矩陣乘法:a*b,a 和 b 的矩陣乘法,a 的列數必須和 b 的行數相同。

陣列右除法:a./b,a 和 b 的元素逐個對應相除:a(i,j)/b(i,j)兩陣列之間必須有相同的形,或其中乙個是標量。

陣列左除法:a.\b,a 和 b 的元素逐個對應相除:b(i,j)/a(i,j)兩陣列之間必須有相同的形,或其中乙個是標量。

擴充套件資料:

bandem :香蕉最優化展示expo-style banana optimization。

sshow filtdem :濾波效果演示filter effect demo。

sshow filtdem2 :濾波設計演示filter design demo。

cztdemo :fft和czt (兩種不同型別的z-變換演算法)。

phone :演示**通聲音的時間與頻率的關係。

sigdemo1 :離散訊號的時頻圖,可用滑鼠設定。

sigdemo2 :連續訊號的時頻圖,可用滑鼠設定。

filtdemo :低通濾波器的互動式設計。

moddemo :聲音頻號的調製。

sosdemo :數字濾波器的切片圖。

neural :神經網路模組組。

firdemo :二維fir濾波器。

nlfdemo :非線性濾波器。

dctdemo :dct演示。

mlpdm1 :利用多層感知器神經網路擬合曲線動畫。

mlpdm2 :利用多層感知器神經網路進行xor問題運算。

invkine :運動逆問題。

juggler :跳球戲法。

fcmdemo :fcm。

slcp :類似倒立擺動畫。

slcp1 :類似倒立擺動畫cart and a varying pole。

slcpp1 :類似倒立擺動畫,有兩個擺,乙個可以變化。

sltbu :卡車支援。

slbb :類似於翹翹板。

5樓:匿名使用者

.*為點乘運算,是指兩個矩陣中對應元素進行乘法運算。要求兩矩陣的維數相同。

*為矩陣乘法,若a為m*n維矩陣,b為n*p為矩陣,則a*b為m*p維矩陣。

6樓:

*代表變數相乘,或者矩陣相乘

.*是矩陣中對應位置變數相乘,組成新得矩陣[1 2 3].*[3 4 5]=[3 8 15]就不能用*

7樓:匿名使用者

來個例子吧

a=[1,2;3,4];

你先看一下

a^2與a*a

這兩個的結果是矩陣相乘的結果。(矩陣相乘是有條件的:第乙個矩陣的列數等於第二個矩陣的行數)

而a.^2是矩陣對應元素相乘的結果

好好理解上面的。再看下面的

a=[1,2;3,4;5,6];

再試一下:a^2與a.^2 (其中有乙個是錯的)然後仔細品味一下兩者的區別。

8樓:匿名使用者

'.*'運算子用於矩陣間對應元素的相乘,或數與數之間,數與矩陣之間的相乘。

'*'運算子用於一般數學意義下的相乘運算。

這裡有乙個類似的問題,已經有人回答

9樓:匿名使用者

matlab中帶「.」(讀作「點」)的運算子都表示點運算。這就要求a.*b中的a、b必須同規格,然後對應點的資料相乘,結果也是乙個與a、b相同規格的矩陣。(標量是1*1矩陣)

matlab的資料單元是矩陣,*表示的是矩陣相乘。要求a*b中a的列數等於b的行數。(可以參考線性代數中的矩陣運算規則)

基礎問題可以去ilovematlab.cn查詢答案

10樓:匿名使用者

乙個是點星,乙個是星,多了乙個點的區別

11樓:熊熊爾白

禾在口左邊,木在口中間!

12樓:匿名使用者

a\b 矩陣除法,等價於 inv(a)*b

13樓:楊好巨蟹座

>> a=[1 2;3 4];>> b=[1 2;3 4];

>> a/bans = 1 0 0 1>> a./bans = 1 1 1 1

a/b相當於a乘b的逆a./b是a的每個元素與b的每個元素對應相除>> a=[1 2 3 4 5];>> b=3;>> a./b>> a/b這種情況下,結果就是一樣的

左除 右除

:a/b=a*inv(b);

a\b=inv(a)*b;

>> a=magic(3)

a =8 1 6

3 5 7

4 9 2

>> b=pascal(3)

b =1 1 1

1 2 3

1 3 6

>> a/b

ans =

27 -31 12

1 2 0

-13 29 -12

>> a*inv(b)

ans =

27 -31 12

1 2 0

-13 29 -12

>> a\b

ans =

0.0667 0.0500 0.

09720.0667 0.3000 0.

63890.0667 0.0500 -0.

0694>> inv(a)*b

ans =

0.0667 0.0500 0.

09720.0667 0.3000 0.

63890.0667 0.0500 -0.

0694>> a/b-(b'\a')'

ans =

0 0 0

0 0 0

0 0 0

綜上所述:

a\b : 表示inv(a)*b 解a*x=bb/a:表示b*inv(a) 解x*a=b

14樓:匿名使用者

你指的是在賦值時矩陣裡逗號和空格的區別吧?

其實沒有區別,但是我個人比較偏向於用逗號,因為這樣看得比較清楚,不容易看錯,空格有時候容易看漏了

matlab中 什麼時候用.*什麼時候用*啊?

15樓:匿名使用者

a .* b 是矩陣a中每個元素乘以矩陣b對應的元素

a * b 是矩陣乘法。

.^類似與.*

16樓:思維書屋

變數是矩陣或向量是用點乘

17樓:匿名使用者

>> x=0:0.01:10;

>> y=polyval(p,x);

>> plot(x,y)

在matlab中什麼時候用.*,.^什麼時候用*,^(最好能多舉例子說明一下)謝謝

18樓:劉賀

需要多看看copy參考書了。matlab的計算基於2種方式,一種是矩陣運算,和我們知道的矩陣運算規則一樣;還有一種是陣列運算,就是2個陣列對應元素的乘、除、冪運算。

比如:a=[1 2 3;2 3 4];b=[3 4 5;4 5 6];

a*b是無法運算的,因為不符合矩陣運算規則,想運算要將b轉置一下:a*b.',但a.*b就可以,對應元素相乘。

同樣a.^2代表a的每個元素都取平方值。

matlab中*和.*有什麼去區別呢?一般用在什麼地方?還有就是這個符號~代表什麼呢?

19樓:匿名使用者

*就是線性代數中的矩陣乘法,用這個*必須滿足:

第乙個矩陣的列數等於第二內個矩陣的行容數。

.*表示矩陣中的對應位置上的元素各自相乘。用這個.*必須兩個矩陣的維數一樣。

比如:>> a=[1 2 3;4 5 6]a =1 2 3

4 5 6

>> b=[1 2 3;4 5 6]

b =1 2 3

4 5 6

>> a.*b

ans =

1 4 9

16 25 36

~ 是取反的意思,非零的數變成0,而0變成1

20樓:

~du 代表取反。~true == false ,~false ==true

* 是計算

zhi矩陣乘法dao。這是線性代數的計算方法。 你搜尋專一下 「矩陣乘法」

.* 是將矩屬陣對應元素相乘。 就是簡單的每個對應元素相乘然後返回同緯度的矩陣。

Matlab的polyxpoly怎麼用?給我兩個例子

你上面的那個例子好像不行,語法 xi,yi polyxpoly x1,y1,x2,y2 值針對二維平面。比如,y1 x1 2 y2 x2 2 分別給出x1,x2在 5,5 上面的值,可以求得y1,y2對應的值,在把x1,x2,y1,y1四組向量帶入 xi,yi polyxpoly x1,y1,x2,...

function函式怎麼用,matlab中function 函式怎麼用?

這是乙個將華氏溫度轉化為的攝氏度的函式,就是將fddgrees經過一定轉換後將結果賦給函式呼叫時例子如下 var a 0 a celsius 122 這樣a的值將變成 122 32 5 9 即50 m函式除了直接用函式名呼叫之外,也可以進行引數傳遞,使得matlab應用更加方便。m函式檔案以func...

關於matlab中的robotic toolbox機械人工具

你應該用 bot seriallink l1 l2 l3 l4 l5 l6 name my robot 我理解的,因為機械人工具箱的版本不同。bot robot l1 l2 l3 l4 l5 l6 是低版本的寫法,而高一點版本,比如我用內 的是9.10,會容出現跟你一樣的問題,所以用bot seri...