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...