if statement problem with function
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Khadijat Chagayeva
il 6 Ott 2020
Commentato: Stephen23
il 9 Ott 2020
i'm given the task to create an if statement for this problem
i have an array from -1:1
x=[-1:0.1:1]
and a function f= x.^2.*sin(pi.*x)
and i'm supposted to make an if statement arround g
if F>=0 then g=F
if F<0 then g=0
the problem seems pretty easy to solve but somehow i can't seem to do it
i've coded this so far but i keep getting error messages and i don't understand why it's not working
i keep getting the error message: Index in position 2 is invalid. Array indices must be positive integers or logical values.
Error in solution (line 6)
if f(1,i) >= 0
x = [-1:0.1:1];
f = (x.^2).*(sin(pi.*x));
for i = -1:1
if f(1,i) >= 0
g(1,i)=f
elseif f(1,i)<0
g(1,i)=0
end
end
1 Commento
Stephen23
il 6 Ott 2020
The MATLAB approach:
x = -1:0.1:1; % get rid of the superfluous brackets
f = x.^2.*sin(pi.*x);
g = max(0,f);
Risposta accettata
Sudhakar Shinde
il 6 Ott 2020
This may help you:
x = [-1:0.1:1];
f = (x.^2).*(sin(pi.*x));
g=zeros(1,length(f));
for i = 1:length(f)
if f(i) >= 0
g(i)=f(i);
elseif f(i)<0
g(i)=0;
end
end
3 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing 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!