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

2 views (last 30 days)
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

Answers (1)

per isakson
per isakson on 19 Jan 2021
Edited: per isakson on 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 Comments
per isakson
per isakson on 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.

Sign in to comment.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!