Untitled

 avatar
unknown
plain_text
9 months ago
694 B
5
Indexable
f = @(x) exp(x).*cos(4*x);
x = 0:0.01:3;
y = f(x);

intervalli_zeri = [];
tolleranza = 0.1;

for i = 1:length(x)-1
    if abs(y(i)) < tolleranza
        if isempty(intervalli_zeri)
            intervalli_zeri = [x(i) x(i+1)];
        else
            if x(i) == intervalli_zeri(end, 2)
                intervalli_zeri(end, 2) = x(i+1);
            else
                intervalli_zeri = [intervalli_zeri; x(i) x(i+1)]
            end
        end
    end
end

intervalli_zeri

zeri = zeros(1, size(intervalli_zeri, 1));
for i = 1:size(intervalli_zeri, 1)
    zeri(i) = fzero(f, intervalli_zeri(i,1));
end

fplot(f, [0 3])
hold on 
plot(zeri, 0*zeri, '*')
grid on
Editor is loading...
Leave a Comment