1樓:我行我素
求二維矩陣的極值點,就是用matlab的兩個命令min,max。如:
a=magic(5);
amin=min(min(a))
amax=max(max(a))
2樓:有空飄過的
試一下這個
3樓:武陵笑天
求矩陣a的最小值:min(min(a))
求矩陣a的最大值:max(max(a))
matlab如何找到一個陣列中的最大值以及它所在的位置
4樓:匿名使用者
用max()函式即可,比如
>> r = rand(1,10);
>> [maxr,index]=max(r)maxr =
0.9649
index =
10第一個返回引數是最大值專,第二個引數是最大值所在的位置(下標屬)
matlab如何 對陣列求導?
5樓:匿名使用者
本來不想說的。
你的前幾個資料的y是相同的,也就是說是它們的數值導數肯定為零。但不意味著這些點都是極值點,這些絕對是你的資料精度的問題。
解析式比數值的優勢,我覺得就是「精度」,解析式能求出任何一點的值,而數值只是有限的幾個點是己知的,根據這些去猜測(也就是插值)出其它點的值(這些值跟真值應當有一些出入)
data=[
1.04 0
1.12 0
1.2 0
1.28 0
1.36 0
1.44 0
1.52 0
1.6 0
1.68 0
1.76 0
1.84 0
1.92 0
2 52.08 69
2.16 408
2.24 1148
2.32 1963
2.4 2074
2.48 1436
2.56 689
2.64 287
2.72 80
2.8 27
2.88 4
2.96 2
3.04 0
3.12 7
3.2 14
3.28 61
3.36 158
3.44 330
3.52 724
3.6 1367
3.68 2332
3.76 3411
3.84 4054
];x=data(:,1)';
y=data(:,2)';
plot(x,y)
dydx=diff(y)./diff(x); %這個是數值導數
x(find(dydx==0)) %直接數值導數為0的x的值,但是你無法得到中間那個峰的值。
x(dydx(1:end-1).*dydx(2:end)<0) %導數值跨過0的值,這個應當是你想要的
6樓:逆心小土豆
你看看:
syms x1 x2 x3
f = x1^2+x2^2+x3^2;
fx1 = diff(f,x1);
fx2 = diff(f,x2);
fx3 = diff(f,x3);
x11 = input('請輸入整數x1:');
x22 = input('請輸入整數x2:');
x33 = input('請輸入整數x3:');
subs(fx1,x1,x11)
subs(fx2,x2,x22)
subs(fx3,x3,x33)
輸出的subs就是賦值之後的每一個偏導的結果,你可以試著執行一下。
diff預設對x求導,如果有好幾個x,則預設對x1求導,預設求一介導。
7樓:匿名使用者
方法:1. 矩陣y對標量x求導:
y = [y(ij)]d y/dx = [dy(ji)/dx]2. 標量y對列向量x求導:
y = f(x1,x2,..,xn) dy/dx= (dy/dx1,dy/dx2,..,dy/dxn)'
3. 行向量y'對列向量x求導:
y的每一列對x求偏導,各列構成一個矩陣。
4. 列向量y對行向量x』求導:
轉化為行向量y』列向量x的導數轉置。
5. 向量積對列向量x求導運演算法則:
d(uv')/dx =(du/dx)v' + u(dv'/dx)d(u'v)/dx =(du'/dx)v + (dv'/dx)u'
6. 矩陣y對列向量x求導:
y對x的分量求偏導,構成超向量。
7. 矩陣積對列向量求導法則:
d(uv)/dx =(du/dx)v + u(dv/dx)d(uv)/dx =(du/dx)v + u(dv/dx)8. 標量y對矩陣x的導數:
把y對每個x的元素求偏導,不用轉置。
dy/dx = [dy/dx(ij) ]
9. 矩陣y對矩陣x的導數:
將y的每個元素對x求導,然後排在一起形成超級矩陣。
10.乘積的導數
d(f*g)/dx=(df'/dx)g+(dg/dx)f'
8樓:匿名使用者
這個問題我給你分析一下,首先你的想法看起來是對的,但其實不是很正確。
對於離散的資料點,使用求導的方法尋找極值,你會發現找不到導數為零的地方的。原因是離散點求導就是做差分。
尋找極值的方法應該是:一維搜尋的方法
就是一個一個的查詢陣列,看在哪個點處的數比它前後的數都大。
9樓:匿名使用者
求導 函式為 diff()
如>> syms x;
>> y=x^2+x
y =x^2 + x
>> s=diff(y)
s =2*x + 1
10樓:匿名使用者
題目錯了爸!!!!!!!
matlab如何用二維矩陣畫出三維圖形
由於你沒有指定x,y座標的具體取值,下面 就直接用整數版序列代權替了.x 1 size data,1 y 1 size data,2 x,y meshgrid x,y surf x,y,data matlab 如何將二維陣列繪製成影象 1 首先,在工復 作命令視窗 制 mand windows輸入下...
matlab求兩個矩陣相乘,若出錯,澤自動求點乘
第13列 t 50 ts 55 改為t 50 55 50 length x 1 55 matlab計算兩矩陣點乘 1 開啟matlab,在命令列視窗中輸入a 2 4 6 9 b 1 5 5 8 建立2行2列的a,b矩陣 如下圖所示。2 使用矩陣點乘,兩個矩陣的對應位置元素相乘,在命令視窗中輸入 a....
C二維陣列的程式,一個 C 二維陣列的程式
陣列太大了,看看下面 一個由 c c 編譯的程式佔用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由 os 注意它與資料結構中的...