Some basic MATLAB questions

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 个评论

Unclear.
What are and why "if loops" ?
What do you mean by "quarter" ? You mean if the numbers lie in [0:0.25],(0.25:0.5],(0.5:0.75] or (0.75:1] ?
JACK
JACK 2022-6-14
编辑:JACK 2022-6-14
Yes exacly, i can't figure out how to manage to get the numbers into those quarters. I asume that the question wants that i arange the given random number into those intervals
Hey @JACK, if YES exactly, please edit your question for clarity so that you get meaningful Answers.
(Answers Dev) Restored edit

请先登录,再进行评论。

回答(3 个)

KALYAN ACHARJYA
KALYAN ACHARJYA 2022-6-14

0 个投票

Hint: rand
https://in.mathworks.com/help/matlab/ref/rand.html

3 个评论

Thanks !!! , may i get a hint relatet how to manage to use the for/if loops.
u = rand (20,1)
quantile(u,[0.2,0.4,0.6,0.8])
I worte smth like this to get some first results
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!
@JACK Are you wish to write your own code for quantile function using for loop or if ..any whatever?

请先登录,再进行评论。

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 个评论

Will you get in trouble if you turn in @Torsten's solution as your own and your professor finds out? Would you face disciplinary action for cheating?
That's the sceleton - you must add the flesh.
@JACK, Your QUESTION has DISAPPEARED!!!
JACK
JACK 2022-6-14
编辑:JACK 2022-6-14
@Image Analyst Well i don't know, im omw to gather some information. I will not turn in the solution of Torsten's.
JACK
JACK 2022-6-14
编辑:JACK 2022-6-14
@Torsten hey Torsten well i added the flesh. The only part that i don't get is quarter(i) = ... part. I managed to fill the other parts but cant define what to add to the ... seciton :S
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
@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.

请先登录,再进行评论。

Walter Roberson
Walter Roberson 2022-6-14

0 个投票

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.

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

版本

R2022a

标签

提问:

2022-6-14

Community Treasure Hunt

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

Start Hunting!

Translated by