matlab 利用while迴圈計算平均值和方差

來源:互聯網
上載者:User

標籤:

一、該程式是用來測輸入資料的平均值和方差的

公式:

 

二、 項目流程:

1. State the problem
假定所有測量數為正數或者0,計算這一系列測量數的平均值和方差。
假定我們預先不知道有多少測量資料被錄入,一個負數標誌著測量資料輸入結束

2. Define the inputs and outputs
程式要求輸入的數是未知的正數或者0,程式輸出的數是輸入資料集的平均值和方差。
除此之外,我們將列印出輸入的資料數,因為它對於我們檢查輸入資料是有用的

3.Define the algorithm
這個程式將被分為三個主要步驟:

Accumulate the input data
Calculate the mean(平均值)和standard deviation(方差)
Write out the mean, standard deviation , and number of points

第一個主要步驟是累計輸入的資料,為了達到目的,我們將要求使用者輸入想要的資料,當每一個資料錄入時,累計數量並求和,求平方和
虛擬碼:
初始化 n, sum_x, and sum_x2為0
請求使用者輸入
讀取輸入數x
while x>=0
n <- n+1
sum_x <- sum_x +x;
sum_x2 <- sum_x +x^2;
讀取下一個x
end
注意:我們不得不讀第一個數在while之前,以便於while迴圈第一次執行時有值

第二步,我們計算平均值和方差,利用平均值公式和方差公式寫虛擬碼:

x_bar <- sum_x / n
std_dev <-sqrt( (n*sum_x2 - sum_x2^2) /(n*(n-1)) )

第三步,我們輸出結果

輸出平均值 x_bar
輸出方差值 std_dev
輸入輸入資料的數量n

4.Turn the algorithm into MATLAB statements

%  指令檔:states.m% % 目標:% 該程式首先累計輸入未知的數(正數或者0),然後計算這個資料集的平均值和方差% % 版本記錄%     日期           編者          描述%    =====         =========     ================% 2015-10-4 21:21     泡泡         源碼% % 定義變數:% % m            --輸入樣本數量% std_dev      --輸入樣本的方差% sum_x        --輸入樣本的和% sum_x2       --輸入樣本的平方和% x            --輸入樣本值% xbar         --輸入樣本的平均值% % % %清除變數或指令clc;%變數初始化n=0; sum_x=0;sum_x2=0;%讀取第一個輸入值x=input (‘請輸入第一個數: ‘);%while迴圈while x >=0    %累積    n      = n+1;    sum_x  = sum_x +x;    sum_x2 = sum_x2 +x^2;        %讀取下一個值    x=input (‘請輸入下一個數:  ‘);end%計算方差和平均值x_bar =sum_x /n;std_dev =sqrt ( (n*sum_x2 - sum_x^2) /(n*(n-1)) );%輸出fprintf(‘您輸入的資料總數為: %f\n‘, n);fprintf(‘平均值是:%f\n‘, x_bar);fprintf(‘方差是: %f\n‘, std_dev);

 

5.Test the program

假定輸入的數為 3 4 5 -1(結束標誌)
那麼:
輸出平均值 4
輸出方差值 1
輸入輸入資料的數量 3

matlab 利用while迴圈計算平均值和方差

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.