How to combine this value ?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Matlab111
le 3 Fév 2015
Commenté : Stalin Samuel
le 4 Fév 2015
Actually i want to store the value, for example
clc
clear all
close all
for k=1:2
allR11=rand(1,10);
d6=length(allR11);
j1=1;
for op=1:d6
allR1_1(j1) = allR11(op)*rand;
op=op+1;
j1=j1+1;
end
d=allR1_1
end
After running this code you will get the 'd' values for two time that is when an 'k=1 and k=2' in for loop.
And now i want to store the values of 'd' values like this
sol=[0.1823 0.0894 0.0315 0.1297 0.5409 0.2566 0.2421 0.3433 0.1777 0.0256
0.0082 0.6125 0.3215 0.0009 0.1636 0.1705 0.0813 0.0707 0.3140 0.1515];
in this 'sol', it has 20 columns, it's like, it's storing both the values of 'd' when 'k=1 and k=2'
so finally i want to get like that 'sol'
0 commentaires
Réponse acceptée
Stalin Samuel
le 4 Fév 2015
sol=[allR11 allR1_1]
2 commentaires
Stalin Samuel
le 4 Fév 2015
clc
clear all
close all
sol=0
for k=1:2
allR11=rand(1,10);
d6=length(allR11);
sol = allR11
j1=1;
for op=1:d6
allR1_1(j1) = allR11(op)*rand;
op=op+1;
j1=j1+1;
end
sol (end+1:numel(allR11)+numel(allR1_1))= allR1_1
d=allR1_1
end
Plus de réponses (3)
karthik
le 3 Fév 2015
Modifié(e) : karthik
le 3 Fév 2015
Your question is not clear.. How do you want the solution to be?
sol=[0.1823 0.0894 0.0315 0.1297 0.5409 0.2566 0.2421 0.3433 0.1777 0.0256
0.0082 0.6125 0.3215 0.0009 0.1636 0.1705 0.0813 0.0707 0.3140 0.1515];
Is this the solution you get after running your code?
Roger Stafford
le 4 Fév 2015
If you want all twenty values to be stored in 'sol', you need to move the line
j1=1;
to execute before entering the outer 'for' loop:
...
j1 = 1;
for k=1:2
...
That way you will get twenty successive values placed in the 'sol' array.
As your code is at present, j1 is reset to 1 so you write over the ten values in 'sol' with the second ten, and the first ten are therefore lost forever. All that remains is the display of them on your screen.
Note: The line "op=op+1" is totally useless. The inner for-loop
for op=1:d6
does that for you automatically, and in fact will overwrite any changes you make to 'op' within the loop. You should never modify the 'for' index within its loop.
2 commentaires
Roger Stafford
le 4 Fév 2015
I already told you how to modify your code. Move the line "j1=1;" to a position before you enter the "for k=1:2" loop.
karthik
le 4 Fév 2015
clc
clear all
close all
j1=1;
for k=1:2
allR11=rand(1,10);
d6=length(allR11);
for op=1:d6
allR1_1(j1) = allR11(op)*rand;
%op=op+1;
j1=j1+1
end
end
This will work
0 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!