Hi, I want to call data in the matrix by using string which is defined by rand command.
A=[1 2]
B=[2 3]
C=[3 5]
corners = 'ABC'
randompick = corners(randi(numel(corners)))
disp(randompick)
randompick(1)
Here I cant get any first row numbers of the A, B, and C.
What's wrong in this script?
Thanks.
Desired answer is
Same as what A(1), B(1) or C(1) give after randomly chosing.

2 commentaires

madhan ravi
madhan ravi le 5 Fév 2019
what‘s the desired output?
FURKAN CEVAHIR
FURKAN CEVAHIR le 5 Fév 2019
Same as what A(1), B(1) or C(1) give after randomly chosing.

Connectez-vous pour commenter.

 Réponse acceptée

KSSV
KSSV le 5 Fév 2019
A=[1 2
2 3
3 5] ;
corners = 1:size(A,1) ;
randompick = corners(randi(numel(corners)))
disp(randompick)
idx = randompick(1) ;
iwant = A(idx,1)

6 commentaires

? OP has mentioned "I want to call data in the matrix by using string which is defined by rand command."
corners = 'ABC'
KSSV
KSSV le 5 Fév 2019
I know....what is the necessity to call it by strings? At the end if strings are there..he has to use eval which is not advised. When there is a option of calling by indices why to use strings?
FURKAN CEVAHIR
FURKAN CEVAHIR le 5 Fév 2019
Modifié(e) : FURKAN CEVAHIR le 5 Fév 2019
I need B and C definition. This answer is not useful for me. Because I am trying to shorten this long script to below script.
for i=1:1000
r = randi([1 3]);
switch r
case 1 %A
x(i+1)=(x(i)+A(1))/2;
y(i+1)=(y(i)+A(2))/2;
case 2 %B
x(i+1)=(x(i)+B(1))/2;
y(i+1)=(y(i)+B(2))/2;
case 3 %C
x(i+1)=(x(i)+C(1))/2;
y(i+1)=(y(i)+C(2))/2;
end
end
for i=1:10000
corners = 'ABC';
randompick = corners(randi(numel(corners)));
disp(randompick)
x(i+1)=(x(i)+randompick(1))/2;
y(i+1)=(y(i)+randompick(2))/2;
end
Did you notice that I have copied all the three vertices in a single matrix A...? Why do you think the code is not useful?
A = [A ; B ; C] ;
for i=1:1000
r = randi([1 3]);
x(i+1)=(x(i)+A(r,1))/2;
y(i+1)=(y(i)+A(r,2))/2;
end
FURKAN CEVAHIR
FURKAN CEVAHIR le 5 Fév 2019
My apologize, thanks..
KSSV
KSSV le 5 Fév 2019
No issues.....No aplogizes.......you are welcome.......

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by