Some basic MATLAB questions

1 Ansicht (letzte 30 Tage)
JACK
JACK am 14 Jun. 2022
Kommentiert: Rena Berman am 19 Jul. 2022
Given a vector u of dimension 20x1 consisting of random variables from a uniform-
distribution (distributed on [0,1]).
Instructions:
- Create a code in MATLAB,
- that creates the vector u,
- which contains both 'for loops' and 'if loops',
- and specifies for all values in the vector u in which quarter the number lies.
I managed to create the vector and split it into the quarters. I dont get how to implant the for and if loops.
Can someone help me out ? :((
  4 Kommentare
Sam Chak
Sam Chak am 14 Jun. 2022
Hey @JACK, if YES exactly, please edit your question for clarity so that you get meaningful Answers.
Rena Berman
Rena Berman am 19 Jul. 2022
(Answers Dev) Restored edit

Melden Sie sich an, um zu kommentieren.

Antworten (3)

KALYAN ACHARJYA
KALYAN ACHARJYA am 14 Jun. 2022
Hint: rand
https://in.mathworks.com/help/matlab/ref/rand.html
  3 Kommentare
Steven Lord
Steven Lord am 14 Jun. 2022
There's no such thing as an "if loop", but as for a for loop how would you solve the problem if the quantile function only accepted a scalar (one number, not a vector) as its first input?
Once you've written that code, replace the call to the quantile function with an if / elseif / else / end block.
% Save this as countVonCount.m :)
x = 3;
if x == 1
disp("One!")
elseif x == 2
disp("Two!")
elseif x == 3
disp("Three!")
else
disp("Ah ah ah!")
end
Three!
KALYAN ACHARJYA
KALYAN ACHARJYA am 14 Jun. 2022
@JACK Are you wish to write your own code for quantile function using for loop or if ..any whatever?

Melden Sie sich an, um zu kommentieren.


Torsten
Torsten am 14 Jun. 2022
n = 20;
r = zeros(n,1)
for i=1:n
r(i) = rand;
if r(i) < 0.25
quarter(i) = ...
elseif r(i) >=0.25 && r(i) < 0.5
...
elseif
...
else
...
end
end
Can you take it from here ?
  7 Kommentare
JACK
JACK am 14 Jun. 2022
n = 20;
r = zeros(n,1)
for i=1:n
r(i) = rand;
if r(i) < 0.25
quarter(i) = ...
elseif r(i) >=0.25 && r(i) < 0.5
elseif
r(i) >=0.5 && r(i) < 0.75
else
r(i) >=0.75 && r(i) < 1
end
end
Sam Chak
Sam Chak am 14 Jun. 2022
@JACK, You don't have to follow exactly. Basically, you create four quarter groups and if the r(i) number satisfies one out of the 4 conditional statements, then that number will be dumped into that group.

Melden Sie sich an, um zu kommentieren.


Walter Roberson
Walter Roberson am 14 Jun. 2022
hint: floor(n*4)
But be careful with the exact boundaries that are multiples of 1/4. For each of those exact values you should write down which bin you want to result, and test your code to make sure it gives those results.
0, ¼, ½, ¾, 1 is five boundaries not 4, and you need to design with that in mind.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by