how to make a sine function that generate plot of sine with our requried inputs

조회 수: 2(최근 30일)
Hi every one; I am going to make a function in the form function [s1, s2, sums] = sines(pts,amp,f1,f2). The input, pts, is an integer, but amp, f1, and f2 and are not necessarily integers. Output argument s1 is a row vector whose length (number of elements) equals pts. The elements of s1 are the values of the sine function when it is given equally spaced arguments that start at zero and extend through f1 periods of the sine. (Note that we ask for full periods, so if f1 is an integer, both the first and the last element of s1 will be 0 other than a very small rounding error.) The amplitude of the sine wave equals amp. The vector s2 is the same as s1 except that s2 contains f2 periods. The vector sums is the sum of s1 and s2. If f2 is omitted, then it should be set to a value that is 5% greater than f1. If f1 is omitted also, then it should be set to 100. If amp is not provided, then it should default to 1. Finally, if pts is omitted as well, then it should be set to 1000. For example, if you run sines without any input arguments and then you plot the third output argument, sums, the figure should look like this (if you stretch the plot window horizontally):
I unable to understand the question.Kindly guide me what the question ask from me and what i had to do? Very thanks in advance ....

채택된 답변

Abhiram Bhanuprakash
Abhiram Bhanuprakash 2015년 5월 26일
Hi Muhammad,
I have written a partial code, assuming your main question is how to handle optional input arguments in MATLAB. I have attached the code as 'sines.m'. I have followed the workflow mentioned in Loren Shure's excellent blog post. You can follow the same for any function with optional input arguments.
I guess you can generate the sinusoids and add them yourself. You can follow this post for this.
Hope this helps,
Cheers!
Abhiram

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by