for文の使い方

298 visualizaciones (últimos 30 días)
Daichi
Daichi el 20 de Nov. de 2022
Respondida: Atsushi Ueno el 20 de Nov. de 2022
現在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文の使い方がよくわからずできません。参考になるページ等あれば教えてください。

Respuesta aceptada

Atsushi Ueno
Atsushi Ueno el 20 de Nov. de 2022
> 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');

Más respuestas (0)

Categorías

Más información sobre Simulink 環境のカスタマイズ en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!