『壹』 MATLAB SIFT演算法計算旋轉角度
自己寫調用程序,調用的時候注意看每個函數調用的輸入參數,
調用函數很簡單,首先讀取圖像,然後進行灰度化,再將得到的灰度圖像讀入,再直接調用match函數就可以了!
clc
clear all;
close all;
『貳』 Matlab蒙特卡洛法計算圓周率怎麼寫最快
function piva = PiMonteCarlo(n)
% PiMonteCarlo(n),用隨機投點法模擬圓周率pi,作出模擬圖. n為投點次數,可以是非負整數標量
% 或向量.
% piva = PiMonteCarlo(n),用隨機投點法模擬圓周率pi,返回模擬值piva. 若n為標量(向
% 量),則piva也為標量(向量).
x = 0;y = 0;d = 0;
m = length(n); % 求變數n的長度
pivalue = zeros(m,1); % 為變數pivalue賦初值
% 通過循環用投點法模擬圓周率pi
for i = 1:m
x = 2*rand(n(i),1)-1; % 隨機投點的橫坐標
y = 2*rand(n(i),1)-1; % 隨機投點的縱坐標
d = x.^2+y.^2;
pivalue(i) = 4*sum(d <= 1)/n(i); % 圓周率的模擬值
end
if nargout == 0
% 不輸出圓周率的模擬值,返回模擬圖
if m > 1
% 如果n為向量,則返回圓周率的模擬值與投點個數的散點圖
figure; % 新建一個圖形窗口
plot(n,pivalue,'k.'); % 繪制散點圖
h = refline(0,pi); % 添加參考線
set(h,'linewidth',2,'color','k'); % 設置參考線屬性
text(1.05*n(end),pi,'\pi','fontsize',15); % 添加文本信息
xlabel('投點個數'); ylabel('\pi的模擬值'); % 添加坐標軸標簽
else
% 如果n為標量,則返回投點法模擬圓周率的示意圖
figure; % 新建一個圖形窗口
plot(x,y,'k.'); % 繪制散點圖
hold on;
% 繪制邊長為2的正方形
h = rectangle('Position',[-1 -1 2 2],'LineWidth',2);
t = linspace(0,2*pi,100); % 定義一個角度向量
plot(cos(t),sin(t),'k','linewidth',2); % 繪制單位圓
xlabel('X'); ylabel('Y'); % 添加坐標軸標簽
title(['Pi的模擬值: ' num2str(pivalue)]); % 添加標題
axis([-1.1 1.1 -1.1 1.1]); axis equal; % 設置坐標軸屬性
end
else
piva = pivalue; % 輸出圓周率的模擬值
end
=============================================
p=PiMonteCarlo([1000:5000:50000])'
p =
Columns 1 through 7
3.2200 3.1093 3.1280 3.1328 3.1286 3.1500 3.1428
Columns 8 through 10
3.1427 3.1452 3.1472