# How do I plot and return the values of multiple intersections between a function and zero?

조회 수: 2(최근 30일)
Gerry Oscar 2021년 10월 20일
댓글: Gerry Oscar 2021년 10월 21일
Hello,
I need to find the intersection between the det_a function and zero, return the values, and plot the intersections. Here's what I did so far
x = linspace(0,18,1000);
det_a = sin(x).*cosh(x) - cos(x).*sinh(x);
zr = zeros(size(x));
figure
plot(x,det_a,x,zr,'--')
grid on
ylim([-10 10])
xlabel('\betal')
The plot can be seen here: I haven't found any easy method of doing this, I've tried using the find and intersect functions but they only return one value. Any help would be appreciated, thanks in advance!

댓글을 달려면 로그인하십시오.

### 채택된 답변

Alan Stevens 2021년 10월 20일
Here's one possibility (though you get repeated results for the roots!):
det_a = @(x) sin(x).*cosh(x) - cos(x).*sinh(x);
x=0:18;
zr = zeros(1,numel(x));
for i = 1:numel(x)
zr(i) = fzero(det_a, x(i));
end
disp(zr)
0 -0.0000 0.0000 3.9266 3.9266 3.9266 7.0686 7.0686 7.0686 10.2102 10.2102 10.2102 13.3518 13.3518 13.3518 13.3518 16.4934 16.4934 16.4934
figure
xx = linspace(0,18,100);
plot(xx,det_a(xx),zr,0,'o')
grid on
ylim([-10 10])
xlabel('\betal') ##### 댓글 수: 6표시숨기기 이전 댓글 수: 5
Gerry Oscar 2021년 10월 21일
Riight, thanks!

댓글을 달려면 로그인하십시오.

### 추가 답변(1개)

KSSV 2021년 10월 20일

댓글을 달려면 로그인하십시오.

R2019a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!