Function with Non Constant Variable
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I'm wondering if there's a way to run this code while keeping x a variable (Instead of inputting a number for the required input 'x', have a variable so I can create a graph of results). Currently I just recieve output 'Unrecognized Function or variable 'x', even when putting sym x in the code.
Thanks for any help!
4 Commenti
per isakson
il 27 Ott 2020
x must have a value, e.g.
%%
x = 17;
S(3,1,x,2)
Adam Danz
il 27 Ott 2020
" I want the x input to work as a variable"
This part is still unclear, hence the variety of answers. Do you mean you want to pass a variable to the 3rd input (see per isakson's or Stephen Cobeldick's answer) or do you mean that the 3rd variable should be a symbolic variable (see Walter Roberson's answers).
Risposte (3)
Stephen23
il 27 Ott 2020
You could create an anonymous function:
fun = @(x) S(3,1,x,2);
..
fun(17)
0 Commenti
Walter Roberson
il 27 Ott 2020
syms x
output = S(3, 1, x, 2);
disp(output)
output = S(3, 1, 4, 2);
disp(output)
function SF = S(F, a, x, n)
if isa(a, 'sym') || isa(x, 'sym')
SF = piecewise(x >= a, F*(x-a)^n, 0);
elseif x >= a
SF = F.*(x-a).^n;
else
SF = zeros(size(x));
end
end
1 Commento
Walter Roberson
il 27 Ott 2020
syms x
output = S(3, 1, x, 2);
disp(output)
output = S(3, 1, 4, 2);
disp(output)
function SF = S(F, a, x, n)
if isa(a, 'sym') || isa(x, 'sym')
SF = piecewise(x >= a, F*(x-a)^n, 0);
elseif x >= a
SF = F.*(x-a).^n;
else
SF = zeros(size(x));
end
end
0 Commenti
Vedere anche
Categorie
Scopri di più su Number Theory in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!