how to change the number that decreases in the array element to the same number, for example 0 (zero)

2 Ansichten (letzte 30 Tage)
hello everyone,
I have an array element value as in the following code and this number will keep decreasing to about 10e-6, there should be a lot up to (1x500) but I just gave a few examples with this,
is there an easy way to change it to the same number eg 0 (zero)?
So in general it is not if it is worth below 1, for example, then it is zero, not like that, but if it is worth decreasing
Thank you very much
a = [100.001469926008 0.0140073495254864 0.00452326089811489 0.00228582409151486 0.00157249586126199 0.00121055360392781 0.000988328854777707 0.000836846113296335 0.000726496714817108]
if %there are array elements that are keep decreasing
%then everything changes to 0 so it remains (1x500) but everything is 0
end

Antworten (1)

per isakson
per isakson am 19 Jan. 2021
Bearbeitet: per isakson am 19 Jan. 2021
Is something like this what you are asking for?
%%
a = [100.001469926008 0.0140073495254864 0.00452326089811489 ...
, 0.00228582409151486 0.00157249586126199 0.00121055360392781 ...
, 0.000988328854777707 0.000836846113296335 0.000726496714817108 ];
%%
daff = diff(a);
ix = find( a<1, 1, 'first' ); % "worth below 1"
if all( daff(ix:end) < 0 ) % "keep decreasing"
a(ix:end)=0; % "changes to 0"
end
it returns
>> a
a =
Columns 1 through 5
100 0 0 0 0
Columns 6 through 9
0 0 0 0
Based on the comments below I think the best answer is:
%%
daff = diff(a);
if all( daff < 0 ) % "keep decreasing" monotonically decreasing
a(:) = 0; % "changes to 0" "(:)" is needed to replace ALL values by 0
end
  14 Kommentare
per isakson
per isakson am 19 Jan. 2021
"I have been asking this for a long time about 2 weeks ago"
Several people have put a fair amount of effort into helping you. They haven't contributed to answer this question. I guess, you lost them.
"because maybe what is in Matlab is different from what is in Simulink"
Communication is difficult. What does this paragraph say?
"have changed my simulink to r2018b"
I've run your model and browsed the diagnostics. It's above my head to debug this model.
See my addendum to the answer.
Naufal Arfani
Naufal Arfani am 20 Jan. 2021
okay, thank you very much for all the help. I'm sorry for always asking and troubling you @per isakson

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by