Clear Filters
Clear Filters

I dont know how to solve the below question. I'm completely lost on where to even begin. I understand the fprintf, just the sin and cos always throw me off. Any direction would even be greatly appreciated

1 view (last 30 days)
For 0 ≤ x ≤ 1 with an increment of 0.1 in x, compute f( x )=sin*x/1+x. For this computation, set x=0:0.1:1 and then perform element-by-element multiplication (.*) operation. Please avoid plugging each x to the function. Using fprintf, print out x and f(x) in two columns with each variable having 8 decimal places.
  2 Comments
Adam
Adam on 4 Jun 2018
Edited: Adam on 4 Jun 2018
f( x )=sin*x/1+x
is a highly suspicious definition of a function. For a start sin has no argument. I assume it should be sin( x ). Also I assume the
1 + x
should be
( 1 + x )
otherwise you are just dividing by 1 (pointless) then adding x to the result.
Apart from that I don't really understand what your confusion is though. If you don't know what sin is then that is a very basic maths problem that you need to look up in a book or online. Assuming you do know what sin is then
doc sin
will take you to the Matlab help page on the function that implements sine.
Most of the rest of it is explicitly stated as to how to do it.
James Niemiec
James Niemiec on 4 Jun 2018
So what I have completed done so far is like such
  • X = ( 0 : 0.1 : 1) ' ;
  • X1= sin(X);
  • F_x=((X1)/(1+x));
  • fprintf('Variable X: %1.8 f | Variable F(x): %1.8f', [X,F(x)].');
  • This causes my code to appear in two different columns like i want but with a lot of other random data in it.
  • Variable X = 0.00000000 | Variable F(x)= 0.00000000
  • Variable X = 0.00000000 | Variable F(x)= 0.00000000
  • Variable X = 0.00000000 | Variable F(x)= 0.00000000
  • Variable X = 0.00000000 | Variable F(x)= 0.00000000
  • Variable X = 0.00000000 | Variable F(x)= 0.00000000
  • Variable X = 0.00000000 | Variable F(x)= 0.00000000
  • Variable X = 0.10000000 | Variable F(x)= 0.00000000
  • Variable X = 0.00000000 | Variable F(x)= 0.04991671
  • It then repeats this cycle again 7 more times till Variable X=0.20000 and so on over and over again.

Sign in to comment.

Accepted Answer

monika shivhare
monika shivhare on 4 Jun 2018
x=0:0.1:1;
f=sin(x./(1+x));
for i=1:length(x)
fprintf('%0.8f %0.8f\n',x(i),f(i));
end
  6 Comments
Rik
Rik on 4 Jun 2018
A for-loop in Matlab executes the block of code until the matching end, with i taking on the values of the columns of the supplied array. You don't have to actually use the loop index for the for-loop to work.
In this case, i will take on the values 1 through 11.
There is a big difference between for and while.
Stephen23
Stephen23 on 4 Jun 2018
Edited: Stephen23 on 5 Jun 2018
"Many of the for statements ive dealt with in the past were used in C# or C++ coding"
Sure, but MATLAB is not C or C++. If you want to learn about MATLAB, then you will need to read the MATLAB documentation: for is described as "for loop to repeat specified number of times" (it does not say "to repeat forever"). The documentation then shows how to specify the values to loop over.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

No tags entered yet.

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!