Homework help - need help debugging it
Show older comments
The Question Given
Use the data below to perform the following:
x = [1 2 3 4 5 6 7 8 9 10];
y = [0.841 0.909 0.141 -0.756 -0.958 -0.279 0.656 0.989 0.412 -0.544];
- Plot the (x, y) data points as red squares
- Determine the sign of each y data point using the sign() function. You must use the sign() function. If the sign command returns a positive value, square the value of y. If the sign command returns a negative value, square root the absolute value of y.
- Plot the result as a blue solid line on the same plot produced in part A.
My Solution
%Data
x = [1 2 3 4 5 6 7 8 9 10];
y = [0.841 0.909 0.141 -0.756 -0.958 -0.279 0.656 0.989 0.412 -0.544];
%Plot the (x,y) data points as red squares
plot (x,y, 'rs')
title ('graph')
hold on
%Determine the sign of each y data point using the sign() function
a=sign(y)
%If statements (Part B)
if a==1;
y=(y^.2);
elseif a==-1;
y=sqrt(abs (y));
end
%Plot the second result on the same plot
plot (x,y, 'bl')
hold off
The Problem
It does seem that my graph is not showing as it should. All the values are positive, but from my understanding, they shouldn't.
Accepted Answer
More Answers (1)
MUHAMMED IRFAN
on 6 Dec 2018
Hey,
In the part B of your code, you might need a for loop to look through each of the element in a and check whether it is +1 or -1. Something like:
for i = 1:length(a)
Element = a(i);
% code to check for sign goes here.
end
Categories
Find more on Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!