1樓:匿名使用者
使用gradient語句即可實現求梯度功能。
具體語法如下:
[fx, fy] = gradient (f)其中fx表示橫向的梯度(相對於原矩陣f而言),fy表示縱向的梯度。
示例如下:
2樓:恩惠妮阿加西
matlab裡求矩陣的梯度使用的語句,**如下:
(matlab環境下)
gradx = [1 -1];
grady = [1 -1];
conx = zeros(row,col);
cony = zeros(row,col);
for row = 2:row
for col = 2:col
cellx = [i(row,col-1) i(row,col)];
celly = [i(row-1,col) i(row,col)];
conx(row,col) = sum(sum(double(gradx).*double(cellx)));
cony(row,col) = sum(sum(double(grady).*double(celly)));
endend
grad(:,:,1) = conx; % x方向梯度grad(:,:,2) = cony; % y方向梯度
matlab 中,已知函式表示式,怎麼求梯度和海賽矩陣(表示式)
3樓:森林格格
^syms x y z
f=x^bai2+x*y+z;
gradient=jacobian(f,[x,y,z])%求梯度duzhi
%gradient =
%[ 2*x + y, x, 1]
x=-1;y=2;z=3;
tiduzhi=eval(gradient) %求在(dao-1,
專2,3)的
屬梯度值
%%tiduzhi =
%% 0 -1 1
4樓:匿名使用者
使用抄襲jacobian指令,
參考文獻
怎麼用matlab求m檔案中的函式的梯度
5樓:匿名使用者
試試,下面的**,如果xi是實數將eval(['syms ',sx,' ',sm])改為eval(['syms ',sx,' ',sm,' real']),計算結果可能更簡潔一些,這裡由於不知道
回你的m值,所以也將其引數化答了,你可以將其換為你需要的值。若有問題,可繼續追問
x=;m=;
for i=1:24
sx=['x',num2str(i)];
sm=['m',num2str(i)];
eval(['syms ',sx,' ',sm])eval(['x=[x,',sx,'];']);
eval(['m=[m,',sm,'];']);
endsh=sum(x.^2)/2*1e6;
y=0;
for i=1:length(x)
y=y+sum(x(1:i));
sh=sh+(y-sum(x(1:i))/2)^2*m(i);
endjac=jacobian(sh,x);
jac'
6樓:匿名使用者
舉個例子
syms x y z
f=x^2+x*y+z;
gradient=jacobian(f,[x,y,z])%求梯度%gradient =
%[ 2*x + y, x, 1]
x=-1;y=2;z=3;
tiduzhi=eval(gradient) %求在(-1,2,3)的梯度值
%%tiduzhi =
%% 0 -1 1
對於補充的問題,那就沒什麼函式,你回直接用diff求微分答算了gradient=[diff(f,x),diff(f,y),diff(f,z)]
matlab請指教,關於求影象梯度
7樓:匿名使用者
求梯來度時,已經轉成了自double了,所以結果要轉回unit8 程式修改後
clear all
close all
i = imread('1灰度圖.jpg');
hy = fspecial('sobel');
hx = hy';
iy = imfilter(double(i), hy, 'replicate');
ix = imfilter(double(i), hx, 'replicate');
gradmag = sqrt(ix.^2 + iy.^2);
figure('units', 'normalized', 'position', [0 0 1 1]);
subplot(1, 2, 1); imshow(i,), title('灰度增強圖');
subplot(1, 2, 2); imshow(gradmag/255,), title('梯度幅值影象');
imwrite(gradmag,'2梯度幅值影象.jpg')%儲存影象為檔案
8樓:匿名使用者
你必須將gradmap轉換成影象資料,好像是mat2img(gradmap),具體的函式我記不大清楚了,你查查幫助。
用matlab求含有未知矩陣的逆矩陣
你的矩陣也不是個方陣,怎麼求逆?隨便編了幾個數,可以求的,只要存在逆矩陣,但結果很複雜 clear all clc syms s a b c d a s,0,0,a i sqrt b 1 c 1 0,s,a i sqrt b c 0 a,b,c,d a b,c,d,a b inv a 直接計算就行 ...
怎麼用matlab求矩陣的特徵向量和最大值
a 1.0000 0.2500 1.0000 8.0000 10.0000 6.0000 4.0000 4.0000 1.0000 4.0000 11.0000 13.0000 7.0000 7.0000 1.0000 0.2500 1.0000 8.0000 10.0000 6.0000 4.00...
用什麼命令取matlab中矩陣的第一列
姬覓晴 第一步 開啟matlab,在命令列視窗中輸入a 1 2 3 4 4 5 6 7 1 2 3 4 按回車鍵建立一個3行4列的矩陣,如下圖所示 第二步 如果我們想獲取矩陣第2行第3列的資料,輸入a 2,3 如下圖所示 第三步 想獲取矩陣第3列的第一個和第三個,輸入a 1 3 3 如下圖所示 第四...