999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MATLAB語言的S-P表算法實現

2011-12-29 00:00:00趙文文宮廷
考試周刊 2011年57期


  摘 要: S-P表是一種簡單易用的測試信息分析工具,它不僅能分析被測者的學習狀態,而且能從項目反應分析的側面了解教育者的工作績效。傳統的人工計算方法雖然簡單,但過程復雜,不利于推廣和應用。本文主要討論了S-P表算法的MATALB語言實現。
  關鍵詞: S-P表 算法實現 MATLAB語言
  
  S-P表分析法是一種分析測試項目、學生團體和個體的有效方法。在教學過程中,如果將其與教學設計、教學評價等理論結合,可起到良好的效果。但目前S-P表的應用情況不盡如人意,究其原因,S-P表需手工計算,尚無開源的軟件供教學相關人員使用是重要方面。因此,我就此做相關研究。
  一、S-P表簡介
  (一)S-P表的定義
  S-P表是由測試項目的二值得分作排序處理后,具有學生(S)曲線和問題(P)曲線的二維表格。S-P表分析法是利用學生的問題得分表進行教學情況分析的一種信息處理方法,使用這種方法既可評價學生個體的學習狀況,又能對班級整體的學習傾向及整個問題的妥當程度作出評價。
  表1是10位學生對10個測試項目應答情況的S-P表,其中,實線為S曲線,虛線為P曲線。
  (二)S-P表的功能
  S-P表可用于對測試項目、教師教學過程、學生團體和個體的分析。具體有以下功能:評價測試項目的應答情況;反映團體和個體的學習狀況;可應用于多種類型的測試;有效輔助教學評價。
  二、S-P表的算法
  對于大量的測試數據,若采用人工方法求解,工作量大,因此我們采用程序來實現。本章節介紹S-P表算法和工具選擇。
  (一)S-P表的算法
  流程圖采用“N-S”模式,如圖1所示。S-P表算法要解決行排序、列排序等,具體過程如下:
  1.開始
  2.輸入數據A=(aij)m*n,其中,矩陣A表示原始成績矩陣,m、n分別表示學生和問題數目。
  3.根據是否是多值數據決定預處理情況。
  If aij=′Y′
  F(aij)′進行“1-0”映射
  Else
  4.行排序
  對∑aj的值按高低順序由上至下排序。
  5.列排序
  對∑ai的值按高低順序由左至右排序。
  6.參數計算
  利用2.1.5中的公式計算相關參數。
  7.畫S-P曲線
  根據2.1.6中,S-P曲線的畫法畫S-P曲線。
  8.輸出S-P表
  將程序得到的S-P表輸出。
  9.結束
  根據上述討論可知,處理數據時需要數學運算突出的軟件,而MATLAB即是這樣一種軟件:可方便處理矩陣運算,不需要生成圖形化界面,只需要將原始數據以矩陣形式作為程序片段,拷貝至命令窗口即可進行計算。下面對其進行介紹。
  (二)工具選擇
  MATLAB(Matrix Laboratory,矩陣實驗室)語言是國際自動控制領域的首選語言,是一種功能非常強大的科學計算軟件,因其內置函數多,且在控制系統、仿真設計領域和處理矩陣等數學問題方面尤為突出,而S-P表需要進行大量的矩陣運算,所以最符合我們的要求。
  其主要特點有:(1)功能強大,數學功能尤其突出;(2)語言簡單,通俗易懂;(3)代碼短小,程序高效;(4)計算功能強大;(5)擴充能力強,可開放性強,幫助功能完整。
  默認設置情況下,運行MATLAB程序時,顯示MATLAB主窗口、命令(Command Window)窗口、歷史(Command History)窗口、當前目錄(Current Directory)窗口和工作間(Workspace)管理窗口等工作窗口。
  三、S-P表的算法實現
  依據圖1的順序,現將S-P表程序的關鍵代碼進行分塊解釋。
  (一)實現主觀題成績預處理的程序
  
  clear
  initial _score_ array=[
  15 7 8 8 7 8
  ……];
  [class_count,problem_count]=size(initial _score_ array)
  class_S_P = zeros(class_count,problem_count);
  for i=1:class_count
   for problem_count=1
   if class_mean(i,1)>=15
  class_S_P(i,1)=1;
  ……
  end
  
  該程序片段用來實現主觀題成績的預處理功能。Clear的作用是清除存儲空間的變量,以免對下面的程序運行產生影響。根據原始數據initial _score_ array,首先獲取其行列數,然后構造矩陣class_S_P,其大小與initial _score_ array相同,且其默認各元素為0,用MATLAB中的zeros()函數實現。該段程序以主觀題P2(對應試卷中的21題)為例:若某學生該題得分大于等于15即將矩陣中相對應元素設置為1,否則不作處理為0不變。而每次for循環或者if語句結束時用end標志。
  (二)實現學生正確率排名和問題正答率排名的程序
  以下程序用來構建S-P表
  
  [data_input_row,data_input_col]=size(data_input);
   s_p_form=zeros(data_input_row+4,data_input_col+4);
   for i=1:data_input_row
   s_p_form(i,data_input_col+1)=i;
   for i=1:data_input_col
   s_p_form(data_input_row+1,i)=i;
   s_p_form(1:data_input_row,data_input_col+2)=sum(data_input,2);
   s_p_form(data_input_row+2,1:data_input_col)=sum(data_input);
   s_p_form(data_input_row+1,data_input_col+1)=sum(sum(data_input));
  
  data_input為經過預處理后的成績矩陣,同上一程序塊相同,第一行的作用仍是獲取輸入數據的行和列。第二行構建S-P表,S-P表的大小比data_input多四行四列,其中第一行為問題原來的列數,即試題的題號,第二行為每道題答對的數量,第三行為題目的注意系數,第四行為平均答對率;第一列為記錄行數,即學生的編號,第二列為每個人答對題的數目,第三列為學生注意系數,第四列為該學生的問題答對率。
  以下程序用來實現對每個學生答題數目按從上到下排列
  
  for i=1:data_input_row
   for j=i+1:data_input_row
  if s_p_form(i,data_input_col + 2)<s_p_form(j,data_input_col + 2)
   for i1=1:data_input_col + 2
   temp=s_p_form(i,i1);
   s_p_form(i,i1)=s_p_form(j,i1);
   s_p_form(j,i1)=temp;
  
  對學生和問題實現按照正答率由高至低順序排列的程序如上所示,基本思想是冒泡排序法,不再贅述。
  
  (三)正確率相同的學生(或問題)的重新排序
  
  for i=1:data_input_row
   for j=i:data_input_row
  if s_p_form(i,data_input_col + 2)==s_p_form(j,data_input_col + 2)
  for k=1:data_input_col
  if s_p_form(i,k)==0
  S_left_sum=S_left_sum+s_p_form(data_input_row+2,k);
  end
  if s_p_form(j,k)==0
  S_right_sum=S_right_sum+s_p_form(data_input_row+2,k);
  if S_left_sum>S_right_sum
  for l=1:data_input_col + 2
   tem=s_p_form(i,l);
   s_p_form(i,l)=s_p_form(j,l);
   s_p_form(j,l)=tem;
  end
  ……
  
  對于正確率相同的行,即答對題目數相同的學生,按照“其得分矢量與問題的答對人數矢量之間的協方差大小”,自上而下排序,程序中先求得得分相同學生的得分即問題的答對人數之和,然后通過冒泡排序法實現。對于答對人數相同的問題,按“問題矢量與累計得分矢量之間的協方差大小自左至右排序”。
  (四)學生(問題)注意系數的求解
  
  u1=mean(s_p_form(data_input_row+2,1:data_input_col),2);
  for i=1:data_input_row
  for j=1:data_input_col
   if s_p_form(i,j)==1
  c1=c1 +s_p_form(data_input_row + 2,j);
  end
  end
  for j=1:s_p_form(i,data_input_col + 2)
   c2=c2 + s_p_form(data_input_row + 2,j);
  end
  if c2-u1*s_p_form(i,data_input_col + 2)==0
   s_p_form(i,data_input_col + 3)==0;
  else
  s_p_form(i,data_input_col+3)=1-(c1-u1*s_p_form(i,data_input_col+2))/(c2-u1*s_p_form(i,data_input_col + 2));
  end
   end
  
  以上程序中,c1,c2,u1分別代表該同學所對應的S曲線左側為“0”的人數之和,S曲線右側為“1”的人數之和,以及問題的平均答對人數,得到相應之和,依據注意系數的公式計算,把所有學生的注意系數放在S-P表多建的四列中的第三列。差異系數及問題注意系數實現原理相同,這里不再詳述。
  
  參考文獻:
  [1]沈霄鳳.現代教育信息處理[M].上海:現代教育出版社,2008:258-266.
  [2]薛理銀.教育信息處理原理[M].北京:北京師范大學出版社,1995.
  [3]夏瑋,李朝暉,常春藤.控制系統仿真與實例詳解[M].北京:人民郵電出版社,2008:11-18.
  [4]范云歡.數據挖掘技術在測試信息分析中的應用[D].華東師范大學,2009碩士學位論文.
  [5]傅德榮.教育信息處理[M].北京:北京師范大學出版社,2006:152.

主站蜘蛛池模板: 成人亚洲国产| 亚洲综合第一页| 91久久国产综合精品| 亚洲h视频在线| 97se亚洲综合在线| 亚洲欧美成人| 怡春院欧美一区二区三区免费| 97久久人人超碰国产精品| 91福利免费| 亚洲最黄视频| 欧美一级黄片一区2区| 高清无码不卡视频| 日韩午夜片| 亚洲人成亚洲精品| 久久综合成人| 中文字幕亚洲综久久2021| 国产精品第一区| 国产成人啪视频一区二区三区| 无码AV动漫| 亚洲精品国产成人7777| 欧美亚洲国产精品久久蜜芽| 狠狠色综合久久狠狠色综合| 98精品全国免费观看视频| 国产h视频在线观看视频| 亚洲综合第一区| 亚洲有码在线播放| 亚洲aaa视频| 在线观看av永久| a免费毛片在线播放| 毛片大全免费观看| 欧美精品综合视频一区二区| 伊人久久大线影院首页| 亚洲丝袜中文字幕| av免费在线观看美女叉开腿| 国产麻豆91网在线看| 91精品福利自产拍在线观看| 亚洲国产精品不卡在线 | 波多野结衣爽到高潮漏水大喷| 亚洲人成色77777在线观看| 精品少妇人妻av无码久久| 韩国福利一区| 精品偷拍一区二区| 国产成人啪视频一区二区三区| 91精品久久久无码中文字幕vr| 日韩精品亚洲精品第一页| 久久久成年黄色视频| 久久亚洲黄色视频| 亚洲日产2021三区在线| 国产精品永久久久久| 国产成人乱无码视频| 亚洲日韩每日更新| 黄色在线不卡| 国产极品美女在线| 亚洲欧洲日产国码无码av喷潮| 九九精品在线观看| 免费一级毛片完整版在线看| 欧美国产精品拍自| 色综合久久88| 亚洲欧美自拍视频| 永久免费无码成人网站| 国产一区亚洲一区| 中国一级特黄视频| 亚洲AⅤ无码日韩AV无码网站| 国产91麻豆免费观看| 亚洲天堂区| 欧美日韩动态图| 久久精品人人做人人爽| 久久不卡精品| 久久精品波多野结衣| 精品一区二区三区无码视频无码| 成人午夜精品一级毛片 | 国产18在线| 国产成人精品一区二区三区| 99人体免费视频| 九九久久99精品| 国产高清在线精品一区二区三区 | 欧美日韩国产在线播放| 国产一区二区三区在线观看视频 | 91 九色视频丝袜| 国产h视频免费观看| 中文字幕在线永久在线视频2020| 情侣午夜国产在线一区无码|