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

1 Ansicht (letzte 30 Tage)
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

Akzeptierte Antwort

Mathieu NOE
Mathieu NOE am 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
  2 Kommentare
Tanya Sharma
Tanya Sharma am 28 Sep. 2021
Thanks a lot Mathieu. Helped me perfectly.
Mathieu NOE
Mathieu NOE am 28 Sep. 2021
My pleasure
Have to admit @Rik 's suggestion is very valuable too.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Rik
Rik am 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

Kategorien

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

Community Treasure Hunt

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

Start Hunting!

Translated by