日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

怎样用matlab拟合,怎么用用matlab拟合两条直线

發布時間:2023/12/20 循环神经网络 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎样用matlab拟合,怎么用用matlab拟合两条直线 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該樓層疑似違規已被系統折疊?隱藏此樓查看此樓

clc;clear all;close all;%%%二維直線擬合

%%%生成隨機數據

%內點

mu=[0 0]; %均值

S=[1 2.5;2.5 8]; %協方差

data1=mvnrnd(mu,S,200); %產生200個高斯分布數據

%外點

mu=[2 2];

S=[8 0;0 8];

data2=mvnrnd(mu,S,100); %產生100個噪聲數據

%合并數據

data=[data1',data2'];

iter = 100; %%% 繪制數據點

figure;plot(data(1,:),data(2,:),'o');hold on; % 顯示數據點

number = size(data,2); % 總點數

bestParameter1=0; bestParameter2=0; % 最佳匹配的參數

sigma = 1;

pretotal=0; %符合擬合模型的數據的個數 for i=1:iter

%%% 隨機選擇兩個點

idx = randperm(number,2);

sample = data(:,idx); %%%擬合直線方程 y=kx+b

line = zeros(1,3);

x = sample(:, 1);

y = sample(:, 2); k=(y(1)-y(2))/(x(1)-x(2)); %直線斜率

b = y(1) - k*x(1);

line = [k -1 b] mask=abs(line*[data; ones(1,size(data,2))]); %求每個數據到擬合直線的距離

total=sum(maskpretotal %找到符合擬合直線數據最多的擬合直線

pretotal=total;

bestline=line; %找到最好的擬合直線

end

end

%顯示符合最佳擬合的數據

mask=abs(bestline*[data; ones(1,size(data,2))])

hold on;

k=1;

for i=1:length(mask)

if mask(i)

inliers(1,k) = data(1,i);

k=k+1;

plot(data(1,i),data(2,i),'+');

end

end %%% 繪制最佳匹配曲線

bestParameter1 = -bestline(1)/bestline(2);

bestParameter2 = -bestline(3)/bestline(2);

xAxis = min(inliers(1,:)):max(inliers(1,:));

yAxis = bestParameter1*xAxis + bestParameter2;

plot(xAxis,yAxis,'r-','LineWidth',2);

title(['bestLine: y = ',num2str(bestParameter1),'x + ',num2str(bestParameter2)]);

總結

以上是生活随笔為你收集整理的怎样用matlab拟合,怎么用用matlab拟合两条直线的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。