« 2019年4月 | トップページ | 2019年6月 »

2019年5月31日 (金)

「逆問題の考え方」(上村豊、講談社) p.177 例題

Rで実際に解いてみる。以下の連立方程式のxとyを求める。

7.1 x + 5.9 y = 3.6
7.7 x + 6.5 y = 3.8

> x <- c(7.1, 7.7)
> y <- c(5.9, 6.5)
> a <- matrix(c(x, y), 2, 2, byrow = FALSE)
> d <- matrix(c(3.6, 3.8), 2, 1)
> a
[,1] [,2]
[1,] 7.1 5.9
[2,] 7.7 6.5
> d
[,1]
[1,] 3.6
[2,] 3.8
> solve(a) %*% d
[,1]
[1,] 1.361111
[2,] -1.027778

よって、x = 1.36…、y = -1.02…である。

同ページでは、以下の連立方程式のxとyも求めている。

7.1 x + 5.9 y = 3.5
7.7 x + 6.5 y = 3.9

上に続いて、計画行列aはそのままに計算する。

> d <- matrix(c(3.5, 3.9), 2, 1)
> solve(a) %*% d
[,1]
[1,] -0.3611111
[2,] 1.0277778

よって、x = -0.36…、y = 1.02…である。

2019年5月29日 (水)

[Excel VBA]そのモジュールやクラスが含まれているファイルが置かれているパスを得る

ApplicationオブジェクトのThisWorkbookプロパティのPathプロパティには、そのモジュールやクラスが含まれているファイル(.xlsm)が置かれているパスを返す。

Debug.Print Application.ThisWorkbook.Path

○:\○○\○○\…

Applicationオブジェクトは省略可能。通常は省略する。省略しても、結果は同じ。

Debug.Print ThisWorkbook.Path

○:\○○\○○\…

2019年5月24日 (金)

[Excel VBA]変数の宣言を強制にする(宣言していない変数を使えなくする)

Excel VBAは、初期状態ではDimステートメントで宣言をしなくても変数は使うことができるが、未宣言の変数の使用は、バグの温床になりやすい。そのため、Dimステートメントで宣言をしていない変数は使えないようにするべき。

モジュールの先頭部(宣言セクション、サブルーチンや関数の前)で、Option Explicitステートメントを使用する。

Option Explicit

2019年5月23日 (木)

[C#]正規表現を使って文字列を分割する

System.Text.RegularExpressions名前空間のRegexクラスのSplitメソッドは、正規表現を使って文字列を区切り、区切った文字列を配列で返す。正規表現が使えるため、区切り文字を任意の文字に指定することができる。

以下は、1つ以上の空白を区切り文字として文字列を分割した例。「[ ]+」とは「1つ以上の空白」という意味。

> using System.Text.RegularExpressions;
> Regex.Split("A BC D E", "[ ]+");
> string[] s = Regex.Split("A BC D E", "[ ]+");
> s
string[4] { "A", "BC", "D", "E" }
> s[0]
"A"
> s[1]
"BC"
> s[2]
"D"
> s[3]
"E"
> s[4]
インデックスが配列の境界外です。

2019年5月22日 (水)

[Excel VBA]そのモジュールやクラスが含まれているファイルのファイル名を得る

ApplicationオブジェクトのThisWorkbookプロパティのNameプロパティは、そのモジュールやクラスが含まれているファイルのファイル名を返す。

Debug.Print Application.ThisWorkbook.Name

○○.xlsm

Applicationオブジェクトは省略可能。通常は省略する。省略しても、結果は同じ。

Debug.Print ThisWorkbook.Name

○○.xlsm

2019年5月14日 (火)

[Excel VBA]そのモジュールやクラスが含まれているファイルのファイル名をフルパスで得る

ApplicationオブジェクトのThisWorkbookプロパティのFullNameプロパティには、そのモジュールやクラスが含まれているファイルのファイル名をフルパスで返す。

Debug.Print Application.ThisWorkbook.FullName

○:\○○\○○\…\○○.xlsm

Applicationオブジェクトは省略可能。通常は省略する。省略しても、結果は同じ。

Debug.Print ThisWorkbook.FullName

○:\○○\○○\…\○○.xlsm

2019年5月13日 (月)

[Excel VBA]そのモジュールやクラスが含まれているファイルのファイル名を得る

ApplicationオブジェクトのThisWorkbookプロパティのNameプロパティは、そのモジュールやクラスが含まれているファイルのファイル名を返す。

Debug.Print Application.ThisWorkbook.Name

○○.xlsm

Applicationオブジェクトは省略可能。通常は省略する。省略しても、結果は同じ。

Debug.Print ThisWorkbook.Name

○○.xlsm

2019年5月10日 (金)

[Excel VBA]フォルダー(ディレクトリ)内のフォルダー(ディレクトリ)の数を得る

ファイルシステムオブジェクトを使うと、簡単に求めることができる。SubFoldersプロパティのCountプロパティに格納されている。

MsgBox CreateObject("Scripting.FileSystemObject").GetFolder("C:\Windows").SubFolders.Count

2019年5月 9日 (木)

[Excel VBA]フォルダー(ディレクトリ)内のファイルの数を得る

ファイルシステムオブジェクトを使うと、簡単に求めることができる。FilesプロパティのCountプロパティに格納されている。なお、これで得られる数にはそのフォルダーのサブフォルダー(サブディレクトリ)は含まれていない。

MsgBox CreateObject("Scripting.FileSystemObject").GetFolder("C:\Windows").Files.Count

2019年5月 2日 (木)

[Access]クエリの抽出条件に未入力を指定する

クエリの抽出条件に未入力を指定するには、「Is Null」を指定する。

例えば、「年」という数値型のフィールドがあり、このフィールドが2019のレコードのみを抽出したいが、まだ今年は未入力のものがあり、「年」に2019が入力されているか何も入力されていないフィールドを抽出したい場合は、抽出条件に以下のように指定をする。

2019 Or Is Null

« 2019年4月 | トップページ | 2019年6月 »

無料ブログはココログ

■■

■■■