質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

Q&A

1回答

504閲覧

[p,S,mu] = polyfit(x,y,n) を使いつつforループを回す方法

Hoshi0331

総合スコア2

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

0グッド

0クリップ

投稿2022/03/17 12:34

Matlab

1Fs = 1000; 2tind = [1:length(a1)]/Fs; 3tind=tind' 4 5opol = 6; 6[p,s,mu] = polyfit(tind,a1,opol); 7f_y = polyval(p,tind,[],mu); 8 9dt_a1 = a1 - f_y;

今はa1が入っていますが、これをa2からa36で同じことを36回繰り返してa1に入っているデータの非線形トレンドを除去したいと思っています。

(非線形トレンドについては、こちらのURLをご参照ください。
https://jp.mathworks.com/help/signal/ug/remove-trends-from-data.html)

forループを使えばよいと思うのですが、
[,,]=polyfit();
のコードにどのようにforループを適用したらよいかがわからず、ご質問させていただいております。

どうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2022/03/19 00:00

必要なのは「dt_a数字」(数字は1〜36)だけですか?
Hoshi0331

2022/03/19 14:28

jbpb0様 ご質問ありがとうございます。 はい、そうです。
jbpb0

2022/03/20 13:14

質問に記載のコードを全部forループ内に入れます 「a1」と「dt_a1」を含む三つの行以外の行はそのままです 「a1」と「dt_a1」を含む三つの行は、 https://teratail.com/questions/stgcu0goabgros の私の回答と同様にやります 「a1」と「dt_a1」の「1」の部分は「num2str()」でループ毎に数値が変わるようにして一旦文字列で作成し、その文字列を「eval()」で実行します
Hoshi0331

2022/03/20 22:26

jppb様 ご回答ありがとうございます。 jppb様のおかげ様で基本的な考え方が少しずつ理解できてきました。 教えていただいた方法で書いてみます。
jbpb0

2022/03/20 23:28

Fs = 1000; opol = 6; は、forループの全回で同じなら、forループの前(上)に出して大丈夫です
guest

回答1

0

質問に記載のコードを全部forループ内に入れます

「a1」と「dt_a1」を含む三つの行以外の行はそのままです

「a1」と「dt_a1」を含む三つの行は、
matlabでfor文を使った列の結合
の私の回答と同様にやります
「a1」と「dt_a1」の「1」の部分は「num2str()」でループ毎に数値が変わるようにして一旦文字列で作成し、その文字列を「eval()」で実行します

なお、下記の二つの行は、forループの全回で同じなら、forループの前(上)に出して大丈夫です

matlab

1Fs = 1000;

matlab

1opol = 6;

投稿2022/04/08 23:17

jbpb0

総合スコア7651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問