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

1 次查看(过去 30 天)
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

回答(1 个)

per isakson
per isakson 2021-1-19
编辑:per isakson 2021-1-19
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 个评论
per isakson
per isakson 2021-1-19
"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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Sources 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by