How can I write the MATLAB code f(x) = x + 5 for 0<x<10?
Mostrar comentarios más antiguos
The following code did not solve the problem.
if ((0 < x) | (x < 100)) y = x + 5 end
Respuestas (4)
Walter Roberson
el 10 de Oct. de 2013
0 votos
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 comentario
Sam
el 10 de Oct. de 2013
sixwwwwww
el 10 de Oct. de 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 comentarios
Sam
el 10 de Oct. de 2013
Sam
el 10 de Oct. de 2013
sixwwwwww
el 10 de Oct. de 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
el 4 de En. de 2017
what is the purpose of count here?
Walter Roberson
el 4 de En. de 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
el 6 de Jun. de 2020
0 votos
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 comentario
Walter Roberson
el 8 de Jun. de 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
el 12 de Feb. de 2023
0 votos
if r=10 and the i increased from 0 to 10 with increments of 2 and v=i*r
1 comentario
r = 10;
i = 0 : 2 : 10;
v = i .* r
Categorías
Más información sobre MATLAB en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!