matlab上で簡単な計算をしたいんですが、
a=20;
y=0;
for k=1:10;
y=a-5+2*(k-1);
if (y>=0)
break
end
end
k
こちらの、数式なのですが全体の長さ20でそこを5ずつ解析するとして、それを2ずつずらして解析するところをはみ出でるまでシフトしていって、はみ出るところで計算を終了してそこでのkの値を最後に出力するというプログラムを組みたいのですがイマイチわかりません。
はみ出るという判定はマイナスになったら終了というプログラムを書きたいです。よろしくです。
「全体の長さ20でそこを5ずつ解析するとして、それを2ずつずらして解析するところをはみ出でるまでシフト」という部分をもう少し詳しく書いていただきたいのですが、以下の認識で間違いありませんか?①上の式ではa=20となっていますが、aは20個の数値が入った配列のようなもの。②aという配列を、5つのdataをもった4つのかたまりに区切る。③それぞれのかたまり(5つのデータを格納している)の中から、1、3、5番目のデータを調べ、マイナスのデータが入っていないかを調べる。④もしマイナスのデータが入っていればbreakする。ここで、もう1点確認したいのが、5つのデータ毎に区切る意味です。1つめのデータの塊の中でマイナスのデータがあった場合、そこでkを返してbreakし、その後次のデータの塊を調べるのか、それともループを抜けて終了にしてしまうのかです。もしループを抜けて終了にするのであれば、1,3,5,6,8,10,11,13,15,16,18,20番目のデータを順に調べてマイナスが無いかを調べればよいだけになります。この計算の背景も含めて質問された方が、正確な回答が得られるかと思います。
質問内容が意味不明.
回答1件
あなたの回答
tips
プレビュー