Calculate values only once in the loop

7 Ansichten (letzte 30 Tage)
D_coder
D_coder am 12 Sep. 2018
Kommentiert: D_coder am 12 Sep. 2018
Suppose I have a code running in a loop I have done some operations and I create a matrix in the loop, that matrix has the same size in every iteration. How do i calculate the number of elemens of the matrix only for the first iteration and not for every iteration since i know that it will be the same for every iteration? I want to avoid using ifelse statements.

Antworten (2)

KSSV
KSSV am 12 Sep. 2018
Read about function numel. This will give you the number of elements present. Also you can get size of matrix and do product to get the elements.
  5 Kommentare
KSSV
KSSV am 12 Sep. 2018
N = 0 ; % number of elements
for i = 1:10
A = rand(10) ;
while ~N
N = numel(A) ;
end
end
D_coder
D_coder am 12 Sep. 2018
is there anyother way to calculate without using loops or if else statement. How about N(N==0) = execute the statement

Melden Sie sich an, um zu kommentieren.


Amir Xz
Amir Xz am 12 Sep. 2018
Use "isempty":
I = rand(4,5);r=[]; c=[];
for i=1:10
if isempty(r) || isempty(c)
[r,c]=size(I);
end
end

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by