anyone can help me to short this looping ? because when I want to change setting it's take to long :(
clc; clear;
wmin = 0.4; wmax = 1.2;

3 comentarios

Rik
Rik el 9 de Nov. de 2017
Are intentionally overwriting w every loop? Also, I would suggest converting this to logical indexing instead of a loop. It will be much faster.
Muhammad Hafiz
Muhammad Hafiz el 6 de Dic. de 2017
thanks Rik :)
KL
KL el 11 de Dic. de 2017
Please do not delete your question contents like this. Answers serve more like a FAQ/documentation with examples, now it doesn't make any sense.

Iniciar sesión para comentar.

 Respuesta aceptada

KL
KL el 9 de Nov. de 2017

0 votos

Rik is right, logical indexing will make it lot simpler and faster,
wmin = 0.4; wmax = 1.2;
it= 1:1000;
then pre-allocate w,
w = zeros(size(it));
then calculate w based on the value of it,
w(it<=425) = (150 - it(it<=425))./150.*(wmin-wmax)+wmax;
w(it>425&it<=550) = wmax-(wmax-wmin)./150.*(it(it>425&it<=550)-150);
w(it>550&it<=650) = (100-(it(it>550&it<=650)-550))./100.*(wmin-(wmax-0.6))+(wmax-0.6);
and so on! Now you know how to write your remaining equations the same way.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 9 de Nov. de 2017

Comentada:

KL
el 11 de Dic. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by