2014F001/User talk:Mnoony/homework 9

From CDS 130

Jump to: navigation, search

Contents

  1. If statements and logical operators
  2. Relational operators
  3. Logical Operators
  4. Does this MATLAB code produce an error when run? If so, why?
  5. Print out the answer for A
  6. Predict the answer of the following MATLAB code
  7. Print out the outcome
  8. What’s the resulting value for counter?
  9. Area estimation
  10. Integration
  11. Integration

1. If statements and logical operators

Rewrite the following statements to use only one if statement:

 if x < y 
    if  z > 10 | y > 2
       w = x*y*z
    end
 end 


if x < y & z>10 | y>2
      w=x*y*z
end

2. Relational operators

Suppose x = 6, without using Matlab, find the results of variable z in the following question.

 
(a) z = (x ~=6)
(b) z = x > 3 + 8
(c) z = 3 > 2 == 1
(d) z = 3 > 2 < 3
(e) z = 2 < 3 + 1 < 5 + 1

a) z= 1

b) z= 0

c) z= 0

d) z= 1

e) z= 1

A should be false, 0, and c should be true, 1.

3. Logical Operators

Suppose x =-1 and y = 0, work out the results of the following expression before checking them in Matlab.

(a) x & y
(b) x | y
(c) x > 0 & y > 0
(d) x + (y != 1) 

a)

b)

c)

d)

No answer provided.

4. Does this MATLAB code produce an error when run? If so, why?

    clear, clc;
    A = [1:1:4];
    B = [10:-2:4];
    C(1,4) = 0;
    for m = [4,3,2,1]
         if A(m) > 2
           A(1,m) = A(1,m)*m;
           B(1,m) = 2*B(1,m-1);
         else if A(m) < 2
           A(1,m) = A(1,m)*(-1 *m);
           B(1,m) = -2*B(1,m-1);
         end
    end
    C = A + B

No answer provided.

5. Print out the answer for A

A(10) = 0.0;
for i = [1:10]
  if (mod(i, 2)==0)
    A(i) = 1;
  else 
    A(i) = 2; 
  end
end
A

No answer provided.

6. Predict the answer of the following MATLAB code

   clear, clc;
   for  m = [1:2]       
       for n = [5:-1:2]   
          if ((m+n <= 5) && (m >= 5))
              disp(‘Condition 1 entered’)
          elseif ((m+n <= 4) || (m >= 4))
              disp(‘Condition 2 entered’)
          elseif ((m+n <= 3) && (m >= 3))
              disp(‘Condition 3 entered’)
          elseif ((m+n >= 2) || (m <= 2))
              disp(‘Condition 4 entered’)
          end
       end
   end

No answer provided.

7. Print out the outcome

  M = [1, 2, 4; 3,1,1; 2,5,6]
  for i = [1:3]
       for j = [1:3]
         if (M (i, j) == 3)
             M (i, j) = 0;
         elseif (M(i, j) > 3)
             M (i, j) = 1;
         end
       end
  end

No answer provided.

8. What’s the resulting value for counter?

  counter = 0;
  for i = [1:3]
     for j = [1:3]
         M(i, j) = 2*i+j;
         if (M(i, j) >3)
             M(i, j) = 2;
             counter = counter +1;
         end
     end
  end
  counter

No answer provided.

9. Area estimation

Using Matlab to estimate the percentage of the area of the black shape in the box. You need to complete the matlab code provided below to obtain the image matrix.

determine the area of the shape.
determine the area of the shape.

In matlab, the follow code can be used to obtain a matrix (denoted as X) to represent the picture. Copy the following code to your matlab editor and continue to complete the code to calculate the percentage of the black area.

clear all; clc;  
M = imread('http://cds130.org/wiki/images/thumb/complicatedshape.svg/180px-complicatedshape.svg.png'); 
[A,map] = rgb2ind(M,2)
image(A);
colormap(map);
colorbar;
[m, n] =size(A); % m and n correspond to the size of the image matrix. 

No answer provided.

10. Integration

Consider the function  f(x) = 2.5 \cdot e^{-(x-3.2)^2/4.25} . Write a Matlab program which

  • asks the user to enter values xmin and xmax;
  • calculates the area under this curve between xmin and xmax. (here, xmin = 0.5, xmax =5.0)

Note: Use "input" to request user input in MATLAB. see http://www.mathworks.com/help/techdoc/ref/input.html for the documentation of input. For example,

xmin = input('The minimum x value for integration xmin =');
xmax = input('The maximum x value for integration xmax =');  

In this way, the values for xmin and xmax can be provided interactively.

No answer provided.

11. Integration

Given two mathematical functions f(x) = 1/x * e^{-(\ln(x) -1)^2} and g(x) = sin2(x) − 0.5, calculate the area between the two curves from x=1.5 to x = 6.5 as shown in the following figure.

image: 2013F004_homework9_Q3.jpeg

No answer provided.

Personal tools