Contents

- 1 Problem 1. Times 2 - START HERE
- 2 Problem 44943. Calculate Amount of Cake Frosting
- 3 Problem 44944. Convert from Fahrenheit to Celsius
- 4 Problem 44947. Find the Oldest Person in a Room
- 5 Problem 44951. Verify Law of Large Numbers
- 6 Problem 44946. Solve a System of Linear Equations
- 7 Problem 44948. Calculate a Damped Sinusoid
- 8 Problem 44934. Plot Damped Sinusoid
- 9 Problem 44945. Calculate BMI
- 10 Problem 44958. Crop an Image
- 11 Problem 44949. Find the Best Hotels
- 12 Problem 44952. Find MPG of Lightest Cars
- 13 Problem 44950. Calculate Inner Product
- 14 Problem 44960. Rescale Scores
- 15 Problem 672. Longest run of consecutive numbers

Learn Matlab and earn a badge and skill. This section contains the *Cody solution* of **MATLAB Onramp Practice Solution**. Total 15 solved problems.

Visit the Matlab official Problems page of Matlab Onramp Practice.

All solutions were verified and working. It may be possible after a year or more community may modify the question, then the provided solution may not work so do comment below about the same. Our team will suddenly work on it.

## Problem 1. Times 2 - START HERE

Try out this test problem first.

Given the variable x as your input, multiply it by two and put the result in y.

Examples:

Input x = 2

Output y is 4

Input x = 17

Output y is 34

```
function y = times2(x) % Do not edit this line.
% Modify the line below so that the output y is twice the incoming value x
y = 2*x;
% After you modify the code, press the "Submit" button, and you're on your way.
end % Do not edit this line.
```

## Problem 44943. Calculate Amount of Cake Frosting

Given two input variables r and h, which stand for the radius and height of a cake, calculate the surface area of the cake you need to put frosting on (all around the sides and the top).

Return the result in output variable SA.

```
function SA = func_frosting(r,h)
SA = 2*pi*r*h+pi*r*r;
end
```

## Problem 44944. Convert from Fahrenheit to Celsius

Given an input vector F containing temperature values in Fahrenheit, return an output vector C that contains the values in Celsius using the formula:

Convert Fahrenheit to Celsius, and the formula has been given:

C = (F–32) * 5/9

```
function C = temp_convert(F)
C=(F-32) * 5/9;
end
```

## Problem 44947. Find the Oldest Person in a Room

Given two input vectors:

- name – user last names
- age – corresponding age of the person

Return the name of the oldest person in the output variable old_name.

```
function old_name = find_max_age(name,age)
old_name=name(find(age==max(age)));
end
```

## Problem 44951. Verify Law of Large Numbers

If a large number of fair N-sided dice are rolled, the average of the simulated rolls is likely to be close to the mean of 1,2,…N i.e. the expected value of one die. For example, the expected value of a 6-sided die is 3.5.

Given N, simulate 1e8 N-sided dice rolls by creating a vector of 1e8 uniformly distributed random integers. Return the difference between the mean of this vector and the mean of integers from 1 to N.

```
function dice_diff = loln(N)
dice_diff = mean(randi(N, 1e8,1)) - (N+1)/2;
end
```

## Problem 44946. Solve a System of Linear Equations

If a system of linear equations in x1 and x2 is:

2 x₁ + x₂ = 2

x₁ – 4 x₂ = 3

Then the coefficient matrix (A) is: 2 1 1 -4

And the constant vector (b) is: 2 3

To solve this system, use mldivide ( \ ): x = A\b

Problem:

Given a constant input angle θ (theta) in radians, create the coefficient matrix (A) and constant vector (b) to solve the given system of linear equations in x₁ and x₂.

cos (θ) x₁ + sin (θ) x₂ = 1

-sin (θ) x₁ + cos (θ) x₂ = 1

```
function x = solve_lin(theta)
A=[cos(theta),sin(theta);-sin(theta),cos(theta)];
b=[1;1];
x = A\b;
end
```

## Problem 44948. Calculate a Damped Sinusoid

The equation of a damped sinusoid can be written as

y = A.e^(-λt)*cos(2πft)

where A, λ, and f are scalars and t is a vector.

Calculate the output sinusoid y given the inputs below:

- lambda – λ
- T – maximum value of t
- N – number of elements in t

Assume A = 1 and f = 1 . The vector t should be linearly spaced from 0 to T, with N elements.

```
function y = damped_cos(lambda, T, N)
t=0:T/(N-1):T;
y = exp(-lambda*t).*cos(2*pi*t);
end
```

## Problem 44934. Plot Damped Sinusoid

Given two vectors t and y, make a plot containing a blue ( b ) dashed ( — ) line of y versus t.

Mark the minimum value m of the vector y by adding a point to the plot. This point should be a red asterisk marker, and it must be added after the blue line.

```
function m = plot_cos(y, t)
[m,pos] = min(y);
plot(t,y,'b--',t(pos),m,'r*');
end
```

## Problem 44945. Calculate BMI

Given a matrix hw (height and weight) with two columns, calculate BMI using these formulas:

- 1 kilogram = 2.2 pounds
- 1 inch = 2.54 centimeters
- BMI = weight(kg) / [height(m)]^2

The first column is the height in inches. The second column is the weight in pounds.

```
function bmi = bmi_calculator(hw)
hw(:,1)=hw(:,1)*2.54/100;
hw(:,2)=hw(:,2)/2.2;
bmi=hw(:,2)./(hw(:,1).^2);
end
```

## Problem 44958. Crop an Image

A grayscale image is represented as a matrix in MATLAB. Each matrix element represents a pixel in the image. An element value represents the intensity of the pixel at that location.

Create a cropped image matrix Icrop using inputs given in the following order:

- I – Grayscale input image
- Rmin – Lowest row number to retain
- Cmin – Lowest column number to retain
- Rpix – Number of pixels along rows to retain
- Cpix – Number of pixels along columns to retain

Given a grayscale image I, it is required to crop the image. The coordinates of the upper left corner of the cropped image are Rmin Cmin, and the cropping size is Rpix*Cpix. Because the test sample does not have the coordinate of the lower right corner of the cropped image that exceeds the image range, it does not need to be so thoughtful.

```
function Icrop = crop_image(I, Rmin, Cmin, Rpix, Cpix)
Icrop = I(Rmin:Rmin+Rpix-1,Cmin:Cmin+Cpix-1);
end
```

## Problem 44949. Find the Best Hotels

Given three input variables:

- hotels – a list of hotel names
- ratings – their ratings in a city
- cutoff – the rating at which you would like to cut off

return only the names of those hotels with a rating of cutoff value or above as a column vector of strings good.

```
function good = find_good_hotels(hotels,ratings,cutoff)
good = hotels(find(ratings>=cutoff));
end
```

## Problem 44952. Find MPG of Lightest Cars

The file cars.mat contains a table named cars with variables Model, MPG, Horsepower, Weight, and Acceleration for several classic cars.

Load the MAT-file. Given an integer N, calculate the output variable mpg.

```
function mpg = sort_cars(N)
load cars.mat
sorted = sortrows (cars,4);
mpg = sorted(1:N,2);
mpg=mpg{:,:};
end
```

## Problem 44950. Calculate Inner Product

Given two input matrices, x and y, check if their inner dimensions match.

- If they match, create an output variable z which contains the product of x and y
- Otherwise, z should contain a custom string message

Example:x = [1 2;3 4]

y = [5; 6]

z = [17; 39]

x = [1 2 3;4 5 6]

y = [2 5, 3 6]

z = “Have you checked the inner dimensions?”

OR

z = “The inner dimensions are 3 and 2. Matrix multiplication is not possible”

```
function z = in_prod(x,y)
[m,n]=size(x);
[a,v]=size(y);
if(n==a)
z=x*y;
else
z="c";
end
end
```

## Problem 44960. Rescale Scores

Each column (except last) of matrix X contains students’ scores in a course assignment or a test. The last column has a weighted combination of scores across all the assignments and tests.

Replace the elements in the last column of this matrix with a GPA calculated based on the following scale:

Score GPA

90 – 100 3 – 4

80 – 90 2 – 3

70 – 80 1 – 2

60 – 70 0 – 1

Below 60 0

Assume that no student in this class has scored below 60. Also note that the mapping in the range [60, 100] is linear.

```
function X = rescale_scores(X)
X(:,end)=(X(:,end)-60)/10;
end
```

## Problem 672. Longest run of consecutive numbers

Given a vector a, find the number(s) that is/are repeated consecutively most often. For example, if you have

a = [1 2 2 2 1 3 2 1 4 5 1]

```
function val=longrun(a)
max_num=0;
val=[];
j=1;
last_item=nan;
item_num=0;
for i=1:length(a)
if a(i)==last_item
item_num=item_num+1;
if item_num==max_num
j=j+1;
val(j)=a(i);
elseif item_num>max_num
max_num=item_num;
j=1;
val=[];
val(j)=a(i);
end
else
if max_num<=1
max_num=1;
val(j)=a(i);
j=j+1;
end
last_item=a(i);
item_num=1;
end
end
[m,n]=size(a);
if m>1
val=val';
end
end
```

Matlab Onramp Practice Cody 15 solved problems. All solution is correct as they were first submitted in Matlab and then uploaded here for your help. If any solution doesn’t work then do comment.

Also Check the solution of other Matlab Cody Contest Matlab Cody More Contest solutions