[ 前へ | 目次 | 次へ ]

ベクトル演算

ここでは、配列同士の演算である、ベクトル演算を扱います。


ベクトル演算

ベクトル演算とは、大量の値に対して、同じ処理規則を適用するような演算のことです。 これに対し、1 つずつの値に対する演算をスカラ演算と呼びます。

VCSSL では、配列変数同士の演算において、全要素に同じ演算を行うベクトル演算をサポートしています。

ベクトル演算を行うには、原則として、式の中にある全配列変数の次元と要素数が等しい必要があります。 ただし代入(=)では要素数が異なっても構いません。 また、式には配列でない変数を含ませる事も可能で、その場合、配列でない変数は、 要素が全て等しい配列変数と同様に扱われます。

ベクトル演算子

VCSSL では、以下のようなベクトル演算子がサポートされています:

記号 意味 扱える型 詳細
 = ベクトル
代入演算
全ての型 右の配列の中身を、左の配列に代入します。代入後の左辺の要素数は、右辺と同じになります。
 + ベクトル
加算
int,
float,
complex,
varint,
varfloat,
varcomplex,
string
右の配列の中身と、左の配列の中身を、同じインデックスのもの同士で全て加算します。配列の次元と要素数が異なる場合には使用できません。
 - ベクトル
減算
int,
float,
complex,
varint,
varfloat,
varcomplex
ベクトル加算が減算になったものです。
 * ベクトル
乗算
int,
float,
complex,
varint,
varfloat,
varcomplex
ベクトル加算が乗算になったものです。
 / ベクトル
除算
int,
float,
complex,
varint,
varfloat,
varcomplex
ベクトル加算が除算になったものです。
 % ベクトル
剰余算
int,
varint
ベクトル加算が剰余算になったものです。
 ** ベクトル
指数
float,
varfloat
ベクトル加算が指数演算になったものです。

ベクトル加算を行う

実際に、ベクトル加算を行ってみましょう:

- 実行結果 -

30

これを実行すると 30 が表示されます。少し長いプログラムなので、処理内容を追ってみましょう。

まず、要素数が11 個の配列a,b が用意され、そしてa の中には1 から10 までの整数の2 乗が代入され、 b の中には1 から10 までの整数がそのまま代入されます。 続いて、要素数が11 個の配列c が用意されます。

続いて「 c = a + b 」というベクトル加算が実行され、これにより、c の中身には、

c[0] = a[0] + b[0] ;
c[1] = a[1] + b[1] ;

c[10] = a[10] + b[10] ;

という内容が代入されます。

そしてc[5]を出力する関数が呼ばれ、プログラムが終了します。

c[5]には5*5+5 が入っているはずですから、確かに30 という値は正しいものです。 つまり、正常にベクトル演算が実行できた事がわかります。



スポンサーリンク



スポンサーリンク

この階層の目次
お知らせ

Vnanoのスクリプトエンジンアーキテクチャ解説1: 全体像
2019年05月28日 - RINEARNでは現在、 アプリケーション組み込み用スクリプトエンジン「 Vnano 」を、オープンソースで開発中です。今回は、このスクリプトエンジンのアーキテクチャ面を掘り下げて解説します。

リニアンプロセッサー nano の先行開発版やソースコードリポジトリを公開
2019年04月16日 - オープンソースで開発中の小型プログラム関数電卓ソフト、「 リニアンプロセッサー nano 」の先行開発版やソースコードリポジトリを公開しました。概要と使用方法、ビルド方法などについて解説します。

各ソフトウェアの最新版を一括でリリース、OpenJDKのJava実行環境(JRE)に対応
2019年03月06日 - RINEARNでは3月6日に、主要なソフトウェアの最新版を一括でリリースしました。今回のアップデートには、以前お知らせした、OpenJDKで生成したJREへの対応が含まれています。その概要等をお知らせします。

新着
連番ファイルから3Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。
2019年06月03日
連番ファイルから2Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。
2019年05月24日
[公式ガイドサンプル] 立体モデルを生成して3D空間に配置する

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを生成し、3D空間に配置します。
2019年05月21日
[公式ガイドサンプル] ポリゴンを生成して3D空間に配置する

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体の基本的な構成要素となるポリゴンを生成し、3D空間に配置します。
2019年05月20日
[公式ガイドサンプル] CSVファイルにデータを書き出し&読み込んで、複雑な3次元曲面のグラフを描く(魔法陣形)

「VCSSLスタートアップガイド」内のサンプルコードです。CSVファイルにデータを書き出し、さらにそれを読み込んで、魔法陣のような3次元曲面のグラフを描画します。
2019年05月17日
開発元Twitterアカウント

スポンサーリンク