1樓:yesyes科
1、首先雙擊matlab軟體圖示,在命令列視窗使用函式normrnd()建立一個服從正態分佈的隨機數樣本j。
2、在命令列視窗中,使用函式lognrnd(),建立一個服從對數正態分佈的隨機數樣本k。
3、在命令列視窗中輸入:subplot(2,1,1);qqplot(k);,將影象分成上下兩部分,在影象的上半部分,繪**從對數正態分度的樣本k,與服從正態分佈的理論資料的q-q圖。
4、在命令列視窗中輸入:subplot(2,1,2);qqplot(j,k):將影象分成上下兩部分,在影象的下半部分繪**從對數正態分佈的樣本k與樣本j的q-q圖。
5、最後檢視繪製對數正態分佈的q-q圖,就完成了。
2樓:匿名使用者
x = (0:0.02:10);
y = lognpdf(x,1.73,0.22);
plot(x,y);
grid;
xlabel('x'); ylabel('p')這是對數正態分佈
x = (0:0.02:10);
y = normpdf(x,1.73,0.22);
plot(x,y);
grid;
xlabel('x'); ylabel('p')這是正態分佈
請問如何用matlab對一列資料畫出對數正態分佈曲線,並得到如下圖所示的引數
3樓:匿名使用者
close all;
clear all;
data = xlsread('工作簿資料.xlsx','sheet2','g2:g106556'); %讀入資料
%測試資料 data = lognrnd(8,.7,10000,1);
[y x]=hist(data,200); %統計頻次分佈
h=bar(x,y,1); %畫直方圖
hold on;
%對數正態分佈密度函式
fun=@(p,x) p(1)./x.*exp(-((log(x)-p(2))/p(3)).^2/2);
%a=p(1),mu=p(2),sigma=p(3)
[maxy ind]=max(y);
%做非線性資料擬合
p=nlinfit(x,y,fun,[maxy*x(ind),log(x(ind)),1]);
%畫擬合曲線
x1 = min(x):0.01:max(x);
yfit=fun(p,x1);
plot(x1,yfit,'r','linewidth',1);
%極大似然處 x=exp(mu-sigma^2);
xmax=exp(p(2)-p(3)^2);
ymax=fun(p,xmax);
plot([xmax xmax],[0 ymax],'g','linewidth',2);
%期望值處 x=exp(mu+sigma^2/2)
xmean=exp(p(2)+p(3)^2/2);
ymean=fun(p,xmean);
plot([xmean xmean],[0 ymean],'c','linewidth',2);
xlim([min(x) max(x)]);
xlabel('bc濃度(ng/m^3)');
ylabel('頻數');
legend('統計資料',['對數正態分佈:\mu=' num2str(p(2)) ',\sigma=' num2str(p(3))],...
['極大概然分佈位置:x=' num2str(xmax)],['期望值位置:x=' num2str(xmean)]);
text(xmean+10000,ymean+10,'$ y=\frace^} $',...
'interpreter','latex','fontsize',18);
matlab 如何用一列excel資料做對數正態分佈擬合曲線
4樓:匿名使用者
close all;
clear all;
data = xlsread('資料.xls','sheet1'); %讀入資料
[y x]=hist(data,100); %統計頻次分佈
figure('color','w');h=bar(x,y,1); %畫直方圖
set(h,'edgecolor',[0.5 0.5 0.5],'facecolor',[0.5 0.5 0.5]);
hold on;
) p(1)./x.*exp(-((log(x)-p(2))/p(3)).^2/2);
[maxy ind]=max(y);
%做非線性資料擬合
p=nlinfit(x,y,fun,[maxy*x(ind),log(x(ind)),1]);
%畫擬合曲線
x1 = min(x):0.01:max(x);
yfit=fun(p,x1);
plot(x1,yfit,'k','linewidth',3);
[ymax i] = max(yfit); %找到極值點
xm = x1(i);
plot([xm xm],[0 ymax+10],'k','linewidth',3); %畫豎線
xlim([min(x) max(x)]);
xlabel('bc濃度(ng/m^3)');
ylabel('頻數');
怎樣用matlab畫幾個已知的點
不用30個plot,把30個點的x座標都放到x 1 30 裡,y座標放到y 1 30 裡就行了 plot x,y,o x是二維點的橫座標向量 y是二維點的縱座標向量 matlab怎麼把一組已知的點畫在座標圖上?1 雙bai擊matlab軟體du圖示,開啟matlab軟體,可以看到zhimatlab軟...
matlab中,怎樣用function定義帶引數的方程?比
菠蘿時空 不知道是不是這樣的功能 myfun.m function y myfun a,b y solve char a 2 b x eof 呼叫函式前先syms x 然後 myfun x 1,2 x 1 執行結果如下 syms x myfun x 1,2 x 1 ans 1 3 建立一個func....
怎樣用畫組織架構圖,怎樣用word畫組織架構圖
word快捷辦公 word如何製作組織結構圖? 節曦稽芳洲 進入插入選單 組織結構圖。出來組織結構圖,輸入文字。利用組織結構圖工具增加內容,修改樣式都可以。如何快速用word畫出組織機構圖。 小小歐平兒 1 新建word文件,在目錄選單中選擇 插入 再選擇 smartart圖形 2 在 選擇smar...