国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

連線法巧解二維矩陣轉(zhuǎn)換

2016-11-28 11:25:18侯娟
新課程·下旬 2016年9期
關(guān)鍵詞:數(shù)組

侯娟

摘 要:二維矩陣轉(zhuǎn)換是C語(yǔ)言數(shù)組應(yīng)用的重要組成部分,特別是行列互換。嘗試了一種新的方法,試圖降低矩陣轉(zhuǎn)換的難度。教學(xué)效果表明,新方法對(duì)學(xué)生學(xué)習(xí)二維矩陣的轉(zhuǎn)換有一定的幫助。

關(guān)鍵詞:C語(yǔ)言;數(shù)組;矩陣轉(zhuǎn)換

數(shù)組的應(yīng)用除了排序之外,還經(jīng)常用在二維矩陣的轉(zhuǎn)換上。但是對(duì)于如何正確地轉(zhuǎn)換二維矩陣,卻很少有教材專門闡述。在C語(yǔ)言的教學(xué)中如何層次清晰、變抽象為具體地將二維矩陣的轉(zhuǎn)換方法教授給學(xué)生,值得我們深思。

一、二維矩陣旋轉(zhuǎn)的分類

二維矩陣轉(zhuǎn)換的類型根據(jù)旋轉(zhuǎn)時(shí)行列的關(guān)系主要分為兩大類:90度旋轉(zhuǎn)和180度旋轉(zhuǎn)。這兩種又可以進(jìn)一步劃分出順時(shí)針和逆時(shí)針兩種。90度轉(zhuǎn)換涉及旋轉(zhuǎn)后的行i后與旋轉(zhuǎn)前列j前的關(guān)系,以及旋轉(zhuǎn)后的列j后和旋轉(zhuǎn)前的行i前的關(guān)系。而180度旋轉(zhuǎn)則是旋轉(zhuǎn)后的行i后與旋轉(zhuǎn)前的行i前的關(guān)系,以及旋轉(zhuǎn)后的列j后與旋轉(zhuǎn)前的列j前的關(guān)系。

二、連線法概述

1.連線法簡(jiǎn)述

連線法就是將矩陣旋轉(zhuǎn)前后的行列關(guān)系用線連起來(lái),在此基礎(chǔ)上得出i后與j前或i前的關(guān)系表達(dá)式,以及j后與i前或j前的關(guān)系表達(dá)式,然后根據(jù)表達(dá)式確定內(nèi)外循環(huán)的行列數(shù),并實(shí)行矩陣轉(zhuǎn)換。

2.連線法解題步驟

(1)畫出旋轉(zhuǎn)前的矩陣圖和旋轉(zhuǎn)后的矩陣圖。(2)分別標(biāo)出行列號(hào)。(3)根據(jù)矩陣的內(nèi)容用連線的方法找出旋轉(zhuǎn)前后的行列關(guān)系。(4)并列出關(guān)系表達(dá)式。(5)根據(jù)表達(dá)式等號(hào)右邊的對(duì)象確定內(nèi)外循環(huán)的行列數(shù)。(6)寫矩陣轉(zhuǎn)換的表達(dá)式。

概括起來(lái)講即:一畫,二標(biāo),三連線,四列表達(dá)式,五定行列數(shù),六轉(zhuǎn)換。

三、實(shí)例講解

有一個(gè)整形的二維矩陣,請(qǐng)將其順時(shí)針旋轉(zhuǎn)90度后輸出,如圖1。

文章后面所用到的i,j為整型變量,數(shù)組a[3][4]和數(shù)組b[4][3]也為整型數(shù)組。

1.一畫——畫出旋轉(zhuǎn)前的矩陣圖和旋轉(zhuǎn)后的矩陣圖。

2.二標(biāo)——分別標(biāo)出旋轉(zhuǎn)前后的行列號(hào),如如圖2和3。

3.三連線——根據(jù)矩陣的內(nèi)容用連線的方法找出旋轉(zhuǎn)前后的行列關(guān)系。

這里的根據(jù)矩陣內(nèi)容主要是選擇確定旋轉(zhuǎn)前后的矩陣中的元素,目的是分析其旋轉(zhuǎn)前后的行列關(guān)系。在以前的教學(xué)中筆者都是讓學(xué)生隨意選擇矩陣中的元素,主要是強(qiáng)調(diào)通用性,但是這樣做帶來(lái)很多麻煩,特別容易出錯(cuò)。為此在連線法中筆者選擇旋轉(zhuǎn)后矩陣的0行0列元素作為尋找旋轉(zhuǎn)前后矩陣行列關(guān)系的依據(jù)。另外對(duì)于90度旋轉(zhuǎn)的題目,我們知道矩陣旋轉(zhuǎn)前的行列數(shù)目發(fā)生了變化,旋轉(zhuǎn)后的行i后與旋轉(zhuǎn)前列j前的關(guān)系,以及旋轉(zhuǎn)后的列j后和旋轉(zhuǎn)前的行i前的關(guān)系。

具體過(guò)程:

(1)找出0列上的元素i后與j前的值,并連線

元素31:i后=0,j前=0;元素32:i后=1,j前=1;

元素33:i后=2,j前=2;元素34:i后=3,j前=3;

(2)找出0行上的元素j后與i前的值,并連線

元素31:j后=0,i前=2;元素21:j后=1,i前=1;元素11:j后=2,

i前=0;

4.列出關(guān)系表達(dá)式。

根據(jù)連線圖可以得出:1式i后=j前j前=2-i前或2式j(luò)前=i后i前=2-j前

5.五定行列數(shù)——根據(jù)表達(dá)式等號(hào)右邊的對(duì)象確定轉(zhuǎn)換時(shí)內(nèi)外循環(huán)的行列數(shù)。

在1式中等號(hào)右邊是關(guān)于矩陣旋轉(zhuǎn)前的式子,因此使用旋轉(zhuǎn)前矩陣的行列值,即三行四列:for(i=0;i<3;i++)

for(j=0;j<4;j++)

在2式中等號(hào)右邊是關(guān)于矩陣旋轉(zhuǎn)后的式子,因此使用旋轉(zhuǎn)后矩陣的行列值,即四行三列:for(i=0;i<4;i++)

for(j=0;j<3;j++)

6.寫矩陣轉(zhuǎn)換的表達(dá)式。

使用1式和2式不僅影響轉(zhuǎn)換時(shí)內(nèi)外循環(huán)的行列數(shù),還直接影響到矩陣轉(zhuǎn)換的表達(dá)式。

(1)使用等式1的情況

如使用1式,首先要使用1式轉(zhuǎn)換時(shí)內(nèi)外循環(huán)的行列數(shù);

for(i=0;i<3;i++)

for(j=0;j<4;j++)

其次還需注意矩陣轉(zhuǎn)換表達(dá)式左邊必須寫成b[j][i]的形式,而右邊主要是把數(shù)組a中的a[j后的值代入][i后的值代入]]元素賦值給b[j][i],即b[j][i]=a[j前][2-i前],最后將下標(biāo)去掉即可。

for(i=0;i<3;i++)

for(j=0;j<4;j++)

b[j][i]=a[j][2-i];

(2)使用等式2的情況

如使用2式,首先要使用2式轉(zhuǎn)換時(shí)內(nèi)外循環(huán)的行列數(shù);

for(i=0;i<4;i++)

for(j=0;j<3;j++)

其次還需注意矩陣轉(zhuǎn)換表達(dá)式左邊必須寫成b[i][j]的形式,而右邊主要是把數(shù)組a中的a[i前的值代入][j前的值代入]]元素賦值給b[i][j],即b[j][i]=a[2-j后][i后],最后將下標(biāo)去掉即可。

for(i=0;i<4;i++)

for(j=0;j<3;j++)

b[i][j]=a[2-j][i];

四、連線法總結(jié)

連線雖然是簡(jiǎn)單的小步驟,但連線起到的直觀效果是很明顯的,學(xué)生通過(guò)連線的過(guò)程不僅了解了矩陣轉(zhuǎn)換的過(guò)程,更有利于總結(jié)和歸納出矩陣轉(zhuǎn)換前后的行列關(guān)系,而且根據(jù)表達(dá)式等號(hào)右邊的對(duì)象可以確定循環(huán)的行列數(shù),這對(duì)于后期的編程非常有幫助。

參考文獻(xiàn):

[1]馬志大.矩陣的行列調(diào)整與矩陣方程的求解[J].北京市經(jīng)濟(jì)管理干部學(xué)院學(xué)報(bào),2004.

[2]楊林發(fā).緊扣內(nèi)存變量關(guān)系巧解矩陣類問(wèn)題[J].電腦編程技巧與維護(hù),2012.

猜你喜歡
數(shù)組
透過(guò)觀察 抓住本質(zhì)
——巧解排列組合中的有序數(shù)組問(wèn)題
JAVA稀疏矩陣算法
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
小論C之普通指針與一維、二維數(shù)組的關(guān)系
更高效用好 Excel的數(shù)組公式
基于案例的C語(yǔ)言數(shù)組教學(xué)
辨析指針數(shù)組與數(shù)組指針
Excel數(shù)組公式在林業(yè)多條件求和中的應(yīng)用
基于元胞數(shù)據(jù)的多維數(shù)據(jù)傳遞機(jī)制
尋找勾股數(shù)組的歷程
喀喇沁旗| 措美县| 朝阳市| 罗江县| 台前县| 寿光市| 宣威市| 奉新县| 班玛县| 望江县| 广汉市| 翼城县| 镇坪县| 永顺县| 墨脱县| 包头市| 新郑市| 桃源县| 辽阳县| 长岛县| 濉溪县| 仁寿县| 富源县| 道孚县| 大关县| 南岸区| 枝江市| 淮滨县| 象山县| 东城区| 若尔盖县| 望城县| 惠安县| 昭苏县| 县级市| 鲁山县| 玉树县| 孟村| 潞城市| 阜新市| 东乡县|