It looks like you're new here. If you want to get involved, click one of these buttons!

- 141.9K All Categories
- 104.8K Programming Languages
- 6.4K Assembler Developer
- 1.9K Basic
- 39.9K C and C++
- 4.3K C#
- 7.9K Delphi and Kylix
- 4 Haskell
- 9.6K Java
- 4.1K Pascal
- 1.3K Perl
- 2K PHP
- 526 Python
- 37 Ruby
- 4.4K VB.NET
- 1.6K VBA
- 20.8K Visual Basic
- 2.6K Game programming
- 312 Console programming
- 89 DirectX Game dev
- 1 Minecraft
- 110 Newbie Game Programmers
- 2 Oculus Rift
- 9K Applications
- 1.8K Computer Graphics
- 733 Computer Hardware
- 3.5K Database & SQL
- 534 Electronics development
- 1.6K Matlab
- 628 Sound & Music
- 257 XML Development
- 3.3K Classifieds
- 198 Co-operative Projects
- 189 For sale
- 190 FreeLance Software City
- 1.9K Jobs Available
- 602 Jobs Wanted
- 203 Wanted
- 2.9K Microsoft .NET
- 1.7K ASP.NET
- 1.1K .NET General
- 3.4K Miscellaneous
- 6 Join the Team
- 0 User Profiles
- 354 Comments on this site
- 66 Computer Emulators
- 2.1K General programming
- 187 New programming languages
- 613 Off topic board
- 179 Mobile & Wireless
- 53 Android
- 124 Palm Pilot
- 335 Multimedia
- 151 Demo programming
- 184 MP3 programming
- 0 Bash scripts
- 22 Cloud Computing
- 53 FreeBSD
- 1.7K LINUX programming
- 369 MS-DOS
- 0 Shell scripting
- 320 Windows CE & Pocket PC
- 4.1K Windows programming
- 913 Software Development
- 409 Algorithms
- 68 Object Orientation
- 89 Project Management
- 90 Quality & Testing
- 256 Security
- 7.6K WEB-Development
- 1.8K Active Server Pages
- 61 AJAX
- 2 Bootstrap Themes
- 55 CGI Development
- 19 ColdFusion
- 224 Flash development
- 1.4K HTML & WEB-Design
- 1.4K Internet Development
- 2.2K JavaScript
- 35 JQuery
- 292 WEB Servers
- 154 WEB-Services / SOAP

Here they are:

9. (1) Convert the following C code to MATLAB (a MATLAB script). Your MATLAB code needs to explicitly use MATLAB's for loop and MATLAB's if statement. The result of the code is that the array (vector) x contains the 7 elements: 4, 4, 6, 8, 10, 10, 10.

int x[ ]= {2, 4, 6, 8, 10, 12, 14};

int i;

for (i = 0 ; i < 7 ; i++)

{

if ( x[i] > 10 )

x[i] = 10;

else if ( x[i] <= 4)

x[i] = 4;

}

10. (1) Develop a MATLAB function named cexpint that takes a data vector and an integer representing a frequency as input and returns a numerical approximation of the integral of:

( 2 / ( T - 1 ) ) * data( t ) * exp( 2 * pi * f * t * i / ( T - 1 ) )

where T is the number of items in the data vector, f is the frequency received as input, i is the imaginary number sqrt(-1), and t is the independent variable. The integral is to be performed for values of t that go from 0 to T - 1, which corresponds to the data items stored in the data vector but with a shift of 1 (in other words, data(1) is the datum for t = 0 and data(T) is the datum for t = T - 1). Your function should use the built-in MATLAB function trapz() to perform the numerical integration. Test your function using the following code (script):

n = 1024;

times = linspace(0,2*pi,n+1);

data = 0.25 + cos(times) + 0.5*sin(4*times) - 0.75*cos(32*times);

power = [];

freqs = 2.^[0:(log(n)/log(2)-1)];

for f = freqs

power = [power abs(cexpint(data,f))];

end

subplot(2,1,1)

plot(times,data)

xlabel('Time')

ylabel('Data')

subplot(2,1,2)

bar([0:log(n)/log(2)-1],power)

xlabel('log_2(Frequency)')

ylabel('Power')

Verify that your function works (the script produces a bar graph of the magnitude of sine and cosine components in the data vector, eg. 1 at frequency=1, 0.5 at freq = 4, etc... It represents the frequency spectrum of the data vector and the script essentially produces the Fourier transform of that vector) then paste the code of your function M-file below.

If you can give me any help of any kind, any hints I would be much obliged.

Thanks!!

Terms of use / Privacy statement / Publisher: Lars Hagelin

Programmers Heaven articles / Programmers Heaven files / Programmers Heaven uploaded content / Programmers Heaven C Sharp ebook / Operated by CommunityHeaven LLC

© 1997-2015 Programmersheaven.com - All rights reserved.