İndis gösterimi

Matematik ve bilgisayar programlamada, "indis notasyonu" sayıların bir dizi öğelerini belirtmek için kullanılır.İndislerin nasıl kullanıldığını biçimciliği konuya göre değişir. Özellikle, bir yayın için resmi bir matematik kağıt yazıyor, ya da bir bilgisayar programı yazarken bağlı bir listenin elemanları, bir vektör veya matrise atıfta bulunulması için farklı yöntemler vardır.

Matematikte indis gösterimi

Bu alt simgeleri kullanarak bir dizinin elemanlarına başvurmak matematikte sıklıkla yararlıdır.Indisler tamsayı veya değişken olabilir. Bu çok-boyutlu diziler olarak kabul edilebildiğinden bu yana dizi, genel tensörlerin şeklini alır. Özel (ve daha tanıdık) durum vektörleri (1d diziler) vematrisleri (2d diziler) vardır.

Aşağıdaki kavram sadece bir giriştir: indis notasyonu (özellikle tensör işlemleri temsil ve manipülasyon) matematikte daha ayrıntılı olarak kullanılmaktadır. Daha ayrıntılı bilgi için ana makaleye bakın.

Tek-boyutlu diziler (vektörler)

Bir satır vektörü veya sütun vektörü olarak yazılan sayıların bir dizisi olarak işlenen bir vektör (bu kullanılan kolaylık veya koşullara bağlıdır):

İndis notasyonu i basitçe yazarak dizinin elemanlarının indisleme ile gösterilmesini sağlar burada indisin i1 den n e çalıştığı biliniyor.[1] Örneğin, verilen vektör:

ise bazı girişler

.

dir Bu gösterim matematik ve fizik içindeki vektörlere uygulanabilir.vektör denklemi aşağıda

Ayrıca, vektör elemanları (aka bileşenler) cinsinden yazılabilir olmasıdır

indisler burada belirli bir değerler aralığı alır . Bu ifade,denklemin bir kümesini , her bir dizi için birini temsil etmektedir Eğer the her vektörün nögeleri varsa, anlamı i = 1,2...n, ise denklem açıktır

Hence, index notation serves as an efficient shorthand for

  1. representing the general structure to an equation,
  2. while applicable to individual components.

İki-boyutlu diziler

A matrisinin ögeleri iki altsimge veya indis ile tanımlanır.

Birden fazla indisi bir matris elemanları olarak iki ya da daha çok boyutlar, içinde, sayı dizilerini tanımlamak için kullanılır.(sağda ayrıca resim);

The entry of a matrix A is written using two indices, say i and j with or without commas to separate the indices: aij or ai,j, where the first subscript is the row number and the second is the column number. The notation "ij" should not be confused with "i multiplied by j", it is read as "i - j". For example, if

ise bazı girişler

.

Matris denklemi vektör denklemine benzer yazılıyor, böylece

matrisin ögelerinin terimleri içinde (aka bileşenleri)

i ve jnin tüm değerleri için. her bir indis için yine bu denklemin bir küme ifadesi göstermektedir. Eğer her matrisin m satır ve n sütunları varsa, anlamı i = 1,2...m ve j = 1,2...n, ise burada mn denklemidir.

Çoklu-boyutlu diziler

Tensörler: gösterim elemanlarının çok boyutlu dizileri için açık bir genelleme sağlar. örneğin

Birçok denklemlerin bir dizi gösterimidir.

Tensör analizinde,üstindis, karşıtdeğişken girişlerden eşdeğişkeni ayırtetmek için vektörlerin eşdeğişken ve karşıtdeğişken ve indisleri yükseltici ve düşürücü görmek yerine simgeler kullanılmıştır.

Hesaplama içinde indis gösterimi

Çeşitli programlama dillerinde, indis notasyonu bir dizinin elemanlarını adreslemenin bir yoludur. Ilk öğenin adresi bir üs olarak kullanılır ve eleman boyutunun katları (indis) dizi içinde adresleme kullanılmasını sağlayan bu assembly dili ile nasıl uygulandığına yakın olduğu için bu yöntem kullanılır. Tamsayılar bir dizinin bilgisayarın bellek adresi 3000 (taban adresi) ile bellek hücreden başlayarak ve her tamsayı dört hücre (bayt) kaplar bir bölgede depolanır Örneğin, daha sonra bu dizinin elemanları bellekte yer almaktadır yerleri 3000, 3004, 3008, ..., 0x3000 + 4 (n-1). Genel olarak, taban adresi b ve eleman boyutu s ile bir dizinin i'inci ögenin adresi b+isdir.

C gömme detayları

C programlama dilinde, biz *(taban + i)(işaretçi formu) yukarıdaki veya taban[i] (dizi indisleme formu) olarak yazabiliriz veya C standart işaretçi forma bir dönüşüm olarak indisleme formu dizisi tanımlamaya tam olarak eşdeğerdir Tesadüfi olarak işaretçi ekleme değişmeli olduğundan , bu tür belirsiz ifadeler için 3[base] gibi sağlayan taban[3].[2]'e eşittir

Çoklu boyutlu diziler

Biz birden fazla indisi ile diziler dikkate alındığında nesneler, örneğin, bir iki boyutlu bir tablo daha ilginç hale gelir:Bize burada üç ihtimal vardır:

C olarak, tüm üç yöntem kullanılabilir.İlk yöntem kullanıldığında, programcı dizinin elemanlarını bilgisayarınızın belleğine nasıl yerleştirileceğine karar verir, ve her elemanın konumunu hesaplamak için formüller sağlar. Her satırda elemanların sayısı aynı ve programı yazıldığı anda bilinen iken ikinci bir yöntem kullanılır. Programcı örn yazarak, diyelim ki, üç sütun var dizisini yazacağını söylüyor.ögetipi tabloadı[][3];. Bir sonra tabloismi tabloadı[ilk indis][ikinci indis] yazarak dizinin belirli bir elemanı ifade eder.Derleyici, her satırda tarafından işgal bellek hücrelerinin toplam sayısı, istenen satırın adresini bulmak için ilk dizin kullanır, ve sonra arka arkaya istenen öğenin adresini bulmak için ikinci dizini kullanarak hesaplar. Üçüncü yöntem kullanıldığında, programcı tablo ögetipi *tabloadı[];. gibi işaretçiler bir dizi olmaya bildirir.Programcı sonradan belirli bir elemanı tabloadı[ilk indis][ikinci indis] belirtir, derleyici ilk dizin tarafından belirtilen satır adresini aramak için talimatları oluşturur, ve ikinci dizin tarafından belirtilen elemanın adresini hesaplanırken temel olarak bu adresi kullanabilirsiniz.

Örnek

Bu işlev iki 3x3 kayan nokta birlikte matrisleri çarpar.

void mult3x3f(float result[][3], const float A[][3], const float B[][3])
{
  int i, j, k;
  for (i = 0; i < 3; ++i) {
    for (j = 0; j < 3; ++j) {
      result[i][j] = 0;
      for (k = 0; k < 3; ++k)
        result[i][j] += A[i][k] * B[k][j];
    }
  }
}

Diğer diller içinde

In other programming languages such as Pascal, indices may start at 1, so indexing in a block of memory can be changed to fit a start-at-1 addressing scheme by a simple linear transformation - in this scheme, the memory location of the ith element with base address b and element size s is b+(i-1)s.

Kaynakça

  1. An introduction to Tensor Analysis: For Engineers and Applied Scientists, J.R. Tyldesley, Longman, 1975, ISBN 0-582-44355-5
  2. Programming with C++, J. Hubbard, Schaum’s Outlines, McGraw Hill (USA), 1996, ISBN 0-07-114328-9

Dış bağlantılar

This article is issued from Vikipedi - version of the 3/22/2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.