for文の使い方

242 次查看(过去 30 天)
Daichi
Daichi 2022-11-20
回答: Atsushi Ueno 2022-11-20
現在for文を用いてa=1のもとbを1から100まで1づつ増やして最小にしたい関数C(a,b)が最小になるbを求めるプログラムを以下のように書いています。
a = 1
b = -10:1:10
C1= zeros(1,length(b))
for i=1:length(b)
C(i) = a*cos(b(i))+5*sin(b(i))
end
[A,B]=min(C)
これによって関数Cの最小値AとB(最小になるときのb)を求めています。
この処理をa=1から100まで繰り返し,aとBのグラフを書きたいのですがfor文の使い方がよくわからずできません。参考になるページ等あれば教えてください。

采纳的回答

Atsushi Ueno
Atsushi Ueno 2022-11-20
> for文の使い方がよくわからずできません。参考になるページ等あれば教えてください。
> この処理をa=1から100まで繰り返し,aとBのグラフを書きたい
a = 1:1:100;
b = -10:1:10;
B = zeros(size(a)); % 変化の無い変数はループの外に出す事が望ましいです
for k = 1:length(a)
C = zeros(1,length(b)); % C1になっていたのでCに変更しました
for i = 1:length(b)
C(i) = a(k)*cos(b(i)) + 5*sin(b(i));
end
[~,B(k)] = min(C);
end
plot(a,B,'-o');

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 プログラミング 的更多信息

标签

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!