人気ブログランキング | 話題のタグを見る

はこにわオーディオ工学研究分科会 (旧名: バスレフ研究所)

OpenOffice BASIC (3)

MCAP-CRシミュレータのOpenOffice BASIC版を公開してから、やっぱりこのツールが便利なことを実感しました。
次は、このツールのCBS-CRへの拡張を進めていますが、同時にこの便利なツールを勧めていこうと思います。

パソコンは、たいていがWindows OSを搭載しています。
しかし、Windowsの優位性は、もはやないと云ってもいいと思うようになりました。
GAFAという言葉に最近は、Mが加わって、GAFAMなどと呼ばれるようになりました。
GとAとMとは競合しながらも決して本気で勝負せずどこか棲み分けています。
これらはDSの仲間として圧倒的な地位を築いてきたということなのでしょう。
確かに、F等と共にDS側の動きをしています。
だからGAMにはできるだけ協力したくない。
スマホは現在GとAですが、これもDS以外の第三の勢力に出てきてほしいと思います。
パソコンについては、MでもAでもないLinuxが、儲けとは無縁の存在として力を付けてきています。
何度も書いてきましたが、あとは一部のソフトとハードウェア対応だけです。
ハードウェアについては、これからどんどん規格化が進み、Linux用のドライバーが自由に作れるようになっていくでしょう。
いまでも日本のメーカーはLinuxドライバを作るようになってきているし、Epsonなどは、WINEを使えばWindows用のドライバがそのまま使えたりします。
いまやパソコンのコストのうち大きな部分がOSになってきています。
これは本末転倒で、OSは、Public Domainに入れるべきだと思います。
その役割をしているのがLinuxです。
また、Mのもうひとつの主力であるOfficeソフトウェアについても、もはや、優位性はないと思います。
このあたりは、リンクに記載してありますので、そちらも合わせてご覧ください。
異論はあるでしょうが、ソフトはどうでも良く、価値はあくまでもコンテンツにあります。
コンテンツで考えなければ人間の価値はないので、それだったらロボットにやらせればいいことになってしまいます。
紹介したリンクで取り上げられているのはLibreOfficeですが、これはソースを公開してあるもので、元々はOpenOfficeと同じだったので、好みで使い分ければ問題はまったくありません。
そして、Calcから実行できるOpenOffice BASICがパワフルです。
このBASICがLibreOfficeではなくOpenOfficeなのは、OpenOfficeで開発したものだからで、どちらでも同じプログラムが使えます。

ここでは、こんなに簡単ですよ、という紹介だけなので、お遊びとして、MCAP-CRシミュレータのプログラムの中に使われている行列の掛け算のプログラムを抽出したものを紹介します。

Calcのブックに"Sheet1"というシートがあり、そこから掛け合わせる行列を入力し、掛け合せた行列を表示するものとします。

プログラムはこんな感じです。
Sub Main
Const nmax As Integer = 24
Dim i,j,n As Integer
Dim AM(nmax,nmax), BM(nmax,nmax), CM(nmax,nmax) As Double
Dim libro, foglio As Object

' MULTIPLYING MATRIX
' AM x BM = CM

libro =ThisComponent
foglio =libro.getSheets().getByName("Sheet1")

' Initial Value
for i=0 to nmax
for j=0 to nmax
AM(i,j)=0.0
BM(i,j)=0.0
CM(i,j)=0.0
next j
next i

n = foglio.getCellByPosition(1,1).value

' INPUT MATRICES
for i=0 to n
for j=0 to n
AM(j,i)= foglio.getCellByPosition(1+j,2+i).value
BM(j,i)= foglio.getCellByPosition(1+j,27+i).value
next j
next i

' MULTIPLYING PROCESS
'
for i=0 to n
for j=0 to n
for k=0 to n
CM(i,j)=CM(i,j)+AM(i,k)*BM(k,j)
next k
next j
next i

' OUTPUT
for i=0 to n
for j=0 to n
foglio.getCellByPosition(1+j,52+i).value=CM(i,j)
next j
next i

End Sub
行列の大きさは、25×25までとしていますが、相当大きなサイズでも可能で、その場合は入力を自動化するとか、処理に時間がかかるのを我慢すれば大丈夫です。
(1)変数、定数、オブジェクトを宣言する
(2)定数とオブジェクトを定義する
(3)掛け合わせる行列を読み込む
(4)掛算処理を実行する
(5)結果を出力する
おおよそこれだけの処理を行っています。
セルのアドレスが0から始まることと、XY座標のように、(列,行)の順に表記することを忘れなければ大丈夫でしょう。
この例では、行列は(行,列)の順に定義し、出力もそう表示しています。

スプレッドシート関数の{=MMULT(......}というものを使えばプログラムは必要ありませんが、BASICの中で使えないのがちょっと残念です。
組込関数があればもっと便利なんですけどね。
贅沢は云わずに便利な機能としてあればいいな、くらいに思い、ソフトの開発者に感謝の気持ちを持つのがいいでしょう。






by mcap-cr | 2021-01-29 12:08 | プログラミング | Trackback | Comments(2)
トラックバックURL : https://mcap.exblog.jp/tb/240793167
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
Commented by muuku at 2021-01-29 12:58 x
その昔、PCでAが怪しくなったとき、Mが救いの手を差し伸べました。CPUでもIがAMの後押しをしたことがあります。
どの業界でもそうかも知れませんが、一強では技術進歩の停滞とその業界そのものの発展を阻害するのかもしれません。今では無く将来を見越した経営者はあえて棲み分けや二強体制をとるのかもしれませんね。
(ただし、3番目は潰しに来ますが(^_^;))
もっともその時々の潮流で二強の上下が入れ替わるのもまた過去の歴史が物語っています。
あのAがコケかかったことがあるなんて今の人は信じられないでしょうね。
Commented by mcap-cr at 2021-01-29 13:29
> muukuさん
いまは、コンピュータ産業や半導体が寡占状態になっていて、後発を邪魔していますね。
いまの状況だと、パソコンOSは、GがMを潰すことは簡単にできると思いますが、絶対にやらないでしょうね。
Aは、Mと逆路線で、ソフトとハードを一体化させてしまいました。
私がソフト産業にいた20年以上前は、ソフトとハードは分離するというM路線でした。
いまは、それと逆路線のAが隆盛を極めています。
逆張りじゃないと駄目なのでしょうか?

生演奏を主とすれば、オーディオは箱庭で充分でしょう。
by MCAP-CR
プロフィールを見る
画像一覧
更新通知を受け取る

最新の記事

音声回線は消えていく(予想)
at 2022-07-01 07:13
オーディオ崩壊
at 2022-06-30 07:21
スマホでPDFを見るって...
at 2022-06-29 06:21
趣味の違いは小異大異
at 2022-06-28 06:37
雑談
at 2022-06-27 06:15
何度も聴いて新しい発見
at 2022-06-25 16:34
自分の装置基準
at 2022-06-23 12:22
背中を見せる
at 2022-06-21 06:33
音源メディア
at 2022-06-21 06:30
ドミンゴは流石
at 2022-06-20 06:23
"サウンド変換"ソフトのバグか?
at 2022-06-19 10:43
パソコンのメンテナンス
at 2022-06-16 12:36
久しぶりにCDリッピング
at 2022-06-15 06:19
脳内補正
at 2022-06-14 06:23
まとめて聴くものではない
at 2022-06-13 06:21
パソコンの環境整備
at 2022-06-12 08:47
淡い期待が尽きる
at 2022-06-10 06:27
iPhone 壊れる
at 2022-06-08 06:40
オーディオ趣味の二極化
at 2022-06-08 06:39
小型コンピュータの修理(2)
at 2022-06-07 06:20

以前の記事

2022年 07月
2022年 06月
2022年 05月
2022年 04月
2022年 03月
2022年 02月
2022年 01月
2021年 12月
2021年 11月
2021年 10月
2021年 09月
2021年 08月
2021年 07月
2021年 06月
2021年 05月
2021年 04月
2021年 03月
2021年 02月
2021年 01月
2020年 12月
2020年 11月
2020年 10月
2020年 09月
2020年 08月
2020年 07月
2020年 06月
2020年 05月
2020年 04月
2020年 03月
2020年 02月
2020年 01月
2019年 12月
2019年 11月
2019年 10月
2019年 09月
2019年 08月
2019年 07月
2019年 06月
2019年 05月
2019年 04月
2019年 03月
2019年 02月
2019年 01月
2018年 12月
2018年 11月
2018年 10月
2018年 09月
2018年 08月
2018年 07月
2018年 06月
2018年 05月
2018年 04月
2018年 03月
2018年 02月
2018年 01月
2017年 12月
2017年 11月
2017年 10月
2017年 09月
2017年 08月
2017年 07月
2017年 06月
2017年 05月
2017年 04月
2017年 03月
2017年 02月
2017年 01月
2016年 12月
2016年 11月
2016年 10月
2016年 09月
2016年 08月
2016年 07月
2016年 05月
2016年 04月
2016年 03月
2016年 02月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 05月
2015年 04月
2015年 03月
2015年 02月
2015年 01月
2014年 12月
2014年 11月
2014年 10月
2014年 09月
2014年 08月
2014年 07月
2014年 06月
2014年 05月
2014年 04月
2014年 03月
2014年 02月
2014年 01月
2013年 12月
2013年 11月
2013年 10月
2013年 09月
2013年 08月
2013年 07月
2013年 06月
2013年 05月
2013年 04月
2013年 03月
2013年 02月
2013年 01月
2012年 12月
2012年 11月
2012年 10月
2012年 09月
2012年 08月
2012年 07月
2012年 06月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2012年 01月
2011年 12月

最新のコメント

> muukuさん 英..
by mcap-cr at 10:23
通信(離れた場所からの連..
by muuku at 10:09
> tincanさん ..
by mcap-cr at 16:09
暑いこの頃、お仕事お疲れ..
by tincan at 11:25
> muukuさん 確..
by mcap-cr at 12:23
状況も解らず、知識も経験..
by muuku at 08:37
> muukuさん ピ..
by mcap-cr at 16:09
ピアノロールはオンオフで..
by muuku at 13:54
> muukuさん 以..
by mcap-cr at 10:53
車田さんの電子ピアノの話..
by muuku at 09:56

最新のトラックバック

島谷技研
from 島谷技研
musica
from musica
明日9/24(月祝)はス..
from 集まれ塩ビ管スピーカー主宰 ..
美しい美宮殿装飾と世界屈..
from dezire_photo &..
年末自作スピーカー系イベント
from 集まれ塩ビ管スピーカー主宰 ..
究極の愛を描いたワーグナ..
from dezire_photo &..
光と色彩を愛し生きる喜び..
from dezire_photo &..
新国立劇場バレエ団のソリ..
from dezire_photo &..
ダンテの『神曲』 ”地獄..
from dezire_photo &..
日本初公開のルノワール絵..
from dezire_photo &..

検索

ファン

ブログジャンル

画像一覧

イラスト:まるめな