2024年9月30日月曜日

ルベーグ積分 理論と計算手法 P93

 系5.2(ii)の証明の一部分で、少してこずったので、備忘録としてメモ

R  fv-1  λ=∫I  f ρ  λ で ① f をfgv に  ②fをf/ρに 置き換えると

①を適用 左辺の被積分部分= (f×gv)v-1 =(fv-1 )× (gv)v-1 =(fv-1 )×g  ③

     右辺の被積分部分=(f×gv)×ρ ④

④に②適用=f×gv

③に②適用=(f/ρ)v-1×g  =(fv-1)/(ρv-1)  ×g 

 「関数の積×」と「関数の合成」の意味を、ごちゃまぜにしないようにすればいいだけの話なのだけれど、最初は混乱してしまい、しばらく解決まで時間がかかってしまった。

 数学では、定義の意味をよく確認し、正確に使うことが大事だと、あらためて思った。

2024年9月27日金曜日

2.5w  簡易MLA FT8でつながる

 今日は、夕方コンディションがいいようで、7MHzだが室内の簡易MLA(窓枠にハンガーでつるしただけのもの)で、しかも2.5Wで、2エリアの局長さんとFT8でつながった。

 自分は無理だと思い試していないが、この時間帯は、JA局で中米の局ともつながっている局長さんもいたようだ。

 FT8でJTalertというアプリを併用すると、ちょっとしたchatもできるらしい。早速インストールしたので、そのうち試してみたいと思っている。ただ、まだ使っている局長さんは少ないようだ。

2024年9月17日火曜日

ChatGPTでコーディングするときのコツ ~ステップに分けることがポイント~

 ChatGPTを使って、モザイク画作成ツールを作ってみた。

一気に、多くのステップを考えて、コーディングの指示をすると、うまくいかなかった。ある程度複雑になってくると、限界があるようだ。なぜか、ライブラリに定義されていないメソッドやプロパティがコードのなかに現れたりして、エラーを起こすというパターンが多くなってしまうようだった。

 そこで、少し方針を変えて、コーディングのステップを細かく分けてみた。段階をおって、少しずつコードを追加していった。そのほうが、うまく進めることができた。

2024年9月11日水曜日

細菌・ウイルスが空から来る可能性?

 Gigazineで「日本の上空3000mで病原菌を含む数百種類の微生物が発見される」という記事が出ていた。

 以前から、気にはなっていたが、ChatGPTに、「ウイルス等も、細かい粒子に付着して、浮遊して、遠く離れた場所まで飛んでいき、感染を広げる可能性もあるということでしょうか?」と質問したら、

 「はい、その通りです。病原菌を含む微生物が日本の上空3000メートルで発見されたという報告は、微生物が風や気流に乗って広範囲に移動できる可能性を示唆しています。ウイルスや細菌は、小さな粒子(例えば、塵やエアロゾルなど)に付着して空中を浮遊し、遠くまで運ばれることがあります。このような微生物が風に乗って遠距離に移動することで、環境中の他の場所で感染を広げる可能性が考えられます。」とのこと。黄砂に付着してくる可能性も否定できないとのことだった。確かにネットで検索すると、「砂塵によるバクテリア、カビ、ウイルス、花粉などの長距離輸送が可能である」と指摘されているようだ。黄砂は、今まで無機質だろうとあまり気にかけてなかったが、思った以上に危険なようなので、今後、気を付けたい。以前、知り合いの方が、あるときとても体調が悪いと言っていたことがあった。たまたまかもしれないが、それがちょうど黄砂がひどい時期だったときだった。黄砂と何か関係あるのだろうかと考えたりしたことを思い出した。

 それにしても、日本でも、武漢のように、危険ウイルス(日本の場合はエボラウイルス)の研究施設ができたようなので、こんな話を聞くと、心配になってくる。

2024年9月9日月曜日

久々に移動運用

  7MHzは、夕方近くになるとコンディションがいいようだったので、近くの公園で電波を出してみた。59で、わりと安定したQSOができた。3エリア、1エリアの局長さんとコンタクト。とくに1エリアの局長さんは、いろいろ自作されている方だったので、リニアアンプ、リグ、PICといろいろとお話を聞かせていただきました。ふだん、シグナルレポート交換だけで終わることが多いけれど、今回は、興味深い話ができてよかった。

 下の写真は、移動で利用している 自作の釣り竿ANT+マッチング回路 かなり適当なマッチング回路だが、なんとかSWRは下がっている。釣り竿には、銅箔テープを貼って、導通するようにしている。アースはマグネットシート(A4サイズ)でもだいじょうぶだった。

 

2024年9月4日水曜日

C#で、テキストボックスの最初に、指定した文字が来るようにスクロールするメソッド

 ChatGPTで、コードをつくってもらったけれど、なかなかうまくいかなかった。Windowsメッセージ等のOSに近い部分は、ChatGPTに助けてもらったけど、コードの論理に関してはまだ、自分のような凡人プログラマにも及ばない感じがした。

 結局、自分でしばらく試行錯誤しながら、解決することになった。ChatGPTは、現実世界で試行錯誤は、できないわけなので、そこは、人間よりハンディがあるんだろうと思った。今日、NVIDIA株も急落した。AIに期待が大きすぎたか。。

  private const int WM_VSCROLL = 0x0115;
  private const int SB_LINEDOWN = 1;
  private const int SB_LINEUP = 0;
  [DllImport("user32.dll")]
  private static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);
  public static void ScrollLines(System.Windows.Forms.TextBox textBox, int numberOfLines)
  {
      for (int i = 0; i < Math.Abs(numberOfLines); i++)
      {
          SendMessage(textBox.Handle, WM_VSCROLL, numberOfLines > 0 ? SB_LINEDOWN : SB_LINEUP, 0);
      }
  }
   public static void MoveCursorToText(string searchText,System.Windows.Forms.TextBox textBox)
  {
      // テキストボックス内の最初の位置にカーソルを移動
      textBox.SelectionStart = 0;
      textBox.SelectionLength = 0;
      textBox.ScrollToCaret(); // カーソルの位置にスクロール
      int index = textBox.Text.IndexOf(searchText, StringComparison.OrdinalIgnoreCase);
      if (index != -1)
      {               
          textBox.Focus();
          textBox.SelectionStart = index;
          textBox.SelectionLength = searchText.Length;          
          textBox.ScrollToCaret();        
          int lineIndex = textBox.GetLineFromCharIndex(index);
          int visibleLines = textBox.Height / textBox.Font.Height;

          if (lineIndex > visibleLines)
          {
              ScrollLines(textBox, visibleLines-1);
          }
          else
          {
              ScrollLines(textBox, lineIndex);
          }           
      }
      else
      {
          MessageBox.Show("Text not found.");
      }
  }