How can I write the MATLAB code f(x) = x + 5 for 0<x<10?
Afficher commentaires plus anciens
The following code did not solve the problem.
if ((0 < x) | (x < 100)) y = x + 5 end
Réponses (4)
Walter Roberson
le 10 Oct 2013
0 votes
You cannot define that in MATLAB: it is not possible to define a function that has no definition over a particular range of arguments. You can define a function that is NaN outside a range, or 0, but you have to give it some meaning. Either that or never call the function with parameters outside the defined range.
1 commentaire
Sam
le 10 Oct 2013
sixwwwwww
le 10 Oct 2013
There is a work around to this problem using symbols in MATLAB as follows:
Suppose your x value lies over range from -100 to 100 and for range 0 to 10 you need y = x + 5, then you can do as follows:
syms x_sym y_sym
for x = -100:1:100
if (x > 0 && x < 10)
y_sym = x_sym + 5;
% Other processing as desired. Also result can be back converted from symbol type to
% double number type as
% y = double(subs(y_sym, x_sym, x));
end
end
I hope it will help you a little
5 commentaires
Sam
le 10 Oct 2013
Sam
le 10 Oct 2013
sixwwwwww
le 10 Oct 2013
In this case the code can be written in the following form:
syms x_sym y_sym
count = 1;
for x = -100:1:100
if (x > 0 && x < 10)
y_sym = x_sym + 5;
y_range(count) = double(subs(y_sym, x_sym, x));
x_range(count) = x;
count = count + 1;
end
end
disp('x values between 0 and 10')
disp(x_range)
disp('Values for function y = x + 5 given x values')
disp(y_range)
summyia qamar
le 4 Jan 2017
what is the purpose of count here?
Walter Roberson
le 4 Jan 2017
count is acting as an index into the vector being constructed. You do not know ahead of time how many values will match.
Big Wolf
le 6 Juin 2020
0 votes
Write a MATLAB program to find the value of y when y=|x| when x<5 and y=5x when 5<or = x <10
1 commentaire
Walter Roberson
le 8 Juin 2020
If x<5 but also 5<or=x<10 then x<5 but also 5<=x which is x >= 5. There is, however, not number which is simultaneously less than 5 and >= 5. Therefore the problem is impossible.
abod
le 12 Fév 2023
0 votes
if r=10 and the i increased from 0 to 10 with increments of 2 and v=i*r
1 commentaire
r = 10;
i = 0 : 2 : 10;
v = i .* r
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!