matlab里点除,MATLAB中点除点除
昨天需要用MATLAB畫圖,函數(shù)是自己定義的,其中的變量x是數(shù)據(jù)屬性為矩陣,但是要分別對(duì)元素進(jìn)行處理,所以在命令窗口中鍵入命令:
>> x=linspace(0,50,100);
>> y=1/(1+(x-30)^2);
報(bào)錯(cuò)。
研究了一下原來是點(diǎn)除點(diǎn)乘的原因。關(guān)于MATLAB中點(diǎn)除點(diǎn)除,先看一個(gè)例子:
>>a=[1 2;3 4];>> b=[1 2;3 4];
>>a/bans = 1 0 0 1>> a./bans = 1 1 1 1
a/b相當(dāng)于a乘b的逆a./b是a的每個(gè)元素與b的每個(gè)元素對(duì)應(yīng)相除
>>a=[1 2 3 4 5];>> b=3;>> a./b>> a/b這種情況下,結(jié)果就是一樣的
所以,將命令改為:
>> x=linspace(0,50,100);
>> y=1./(1.+(x-30).^2);
>> plot(x,y)
效果圖為:
閾值相似的還有矩陣的左除右除概念,下面例子作解釋;
左除右除
: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.0972
0.0667????0.3000???? 0.6389
0.0667????0.0500??? -0.0694
>>inv(a)*b
ans =
0.0667???? 0.0500???? 0.0972
0.0667????0.3000???? 0.6389
0.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=B
B/A:表示B*inv(A)解X*A=B
總結(jié)
以上是生活随笔為你收集整理的matlab里点除,MATLAB中点除点除的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php中冒号是什么,在PHP中:(双冒号
- 下一篇: c++ 11 override fina