How to create a matrix with nested for loop for fraction entries?

4 views (last 30 days)
I want to create a matrix where x and g has values given as ii and jj.
The code runs fine but I want a 3 by 3 matrix as an output.
How to correct the code?
clear;
clc;
ii=0.5:.1:.7;
jj=.4:.1:.6;
mat=zeros(length(ii),length(jj));
mm=1;
for x=ii
kk=1;
for g=jj
y=1;
f=x*y*g;
mat(kk,mm)=f
kk=kk+1;
mm=mm+1;
end
end

Accepted Answer

Mathieu NOE
Mathieu NOE on 28 Sep 2021
hello
here are a few mods to get a correct 3 x 3 output
clear;
clc;
ii=0.5:.1:.7;
jj=.4:.1:.6;
mat=zeros(length(ii),length(jj));
kk=1;
for x=ii
mm=1;
for g=jj
y=1;
f=x*y*g;
mat(kk,mm) = f ;
mm=mm+1;
end
kk=kk+1;
end

More Answers (1)

Rik
Rik on 28 Sep 2021
Why use loops at all?
y=1;
ii=0.5:.1:.7;
jj=.4:.1:.6;
[ii,jj]=ndgrid(ii,jj);
mat=ii.*y.*jj;
disp(mat)
0.2000 0.2500 0.3000 0.2400 0.3000 0.3600 0.2800 0.3500 0.4200

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!